跨模型控制器
版本:1.0.7文件:application\admin\controller\Admin.php
行数:143-145行
这段代码值得商榷
有可能确实存在模型和控制器不相同情况,这样判断直接说非法操作,可能有问题
行数:143-145行
这段代码值得商榷
有可能确实存在模型和控制器不相同情况,这样判断直接说非法操作,可能有问题
没有找到相关结果
已邀请:
2 个回复
a616632985
赞同来自:
dolphinphp
赞同来自:
以前这些操作均用Db类来完成的,后来有部分用户反映不够灵活,有些情况是需要用自定义的模型类来完成,所以新版的框架才用了getCurrModel方法来判断当前要用Db类还是模型类。
还有一个重要的原因,以前的版本都是在url上传递table来操作某张表,这样做很不安全,会造成跨权限操作,等于可以操作数据库中的任意表。所以新版严格判断当前操作的模块、控制器是否有与表格页面的模块、控制器是否相同,防止跨模块操作。
比如我有删除文章的权限,url是cms/document/delete, 那么有心的用户可能会把url上的table值换成admin_user,那么即使该用户没有删除用户的权限,也等于可以删除用户了。
当然,也有你说的这种情况,可能需要跨模块操作,那就先注释这段代码。