您好,欢迎访问一九零五行业门户网

开发dz插件后台提示错误

这是php的代码 0){showmessage('添加失败');}else{showmessage('添加失败');} }}?>
模板的 名称:
简介:

错误提示
discuz! system error
您当前的访问请求当中含有非法字符,已经被系统拒绝
php debug
[line: 0025]admin.php(discuz_application->init)
[line: 0071]source\class\discuz\discuz_application.php(discuz_application->_init_misc)
[line: 0552]source\class\discuz\discuz_application.php(discuz_application->_xss_check)
[line: 0355]source\class\discuz\discuz_application.php(system_error)
[line: 0023]source\function\function_core.php(discuz_error::system_error)
[line: 0024]source\class\discuz\discuz_error.php(discuz_error::debug_backtrace)
回复讨论(解决方案) 请贴出你提交后php页面获取的$_server['request_uri']
应该是有特殊字符,<,“,content-transfer-encoding
请贴出你提交后php页面获取的$_server['request_uri']
应该是有特殊字符,<,“,content-transfer-encoding
我在空表单上提交也是提示这个
这个说不清楚,只能看你的$_server['request_uri']这个值
抛出错误的位置在source\class\discuz\discuz_application.php,里面有个_xss_check()的私有方法,你自己看一下吧
$_server['request_uri']这个值
/admin.php?action=plugins&operation=config&do=23&identifier=baoming&pmod=fabu
x2.5测试没问题,请查看你的_xss_check()方法,在source\class\discuz\discuz_application.php
是否如下所示,若不是,请替换 private function _xss_check() { $temp = strtoupper(urldecode(urldecode($_server['request_uri']))); if(strpos($temp, '<') !== false || strpos($temp, '') !== false || strpos($temp, 'content-transfer-encoding') !== false) { system_error('request_tainting'); } return true; }
是不是这的事
', '<', '\'', '(', ')', 'content-transfer-encoding'); if(isset($_get['formhash']) && $_get['formhash'] !== formhash()) { system_error('request_tainting'); } if($_server['request_method'] == 'get' ) { $temp = $_server['request_uri']; } elseif(empty ($_get['formhash'])) { $temp = $_server['request_uri'].file_get_contents('php://input'); } else { $temp = ''; } if(!empty($temp)) { $temp = strtoupper(urldecode(urldecode($temp))); foreach ($check as $str) { if(strpos($temp, $str) !== false) { system_error('request_tainting'); } } } return true;}
所以,让你改为x2.5的_xss_check()方法试试
在前台也得验证formhash,怎么就可以通过,到了后台就不行了呢
呃...能力有限,没研究过,也没遇到过
而且,根据discuz的报错,我在x2.5的discuz_application.php的_init_misc方法中没有找到执行_xss_check()的代码
不知道你的版本是多少
若是低版本就将discuz_application.php这个文件覆盖一下试试
哎  !  我是3.2的
无论如何非常感谢jam00  结贴给分
我擦,没玩过这么高大上的版本...我下来看了一下,还真有,我看看...
其它类似信息

推荐信息