在抖音中,通过私信给朋友发送链接,点击链接,抖音跳转时,会在链接后面添加上”need_out_animation=“等参数,致使discuz打开的时候显示
”您当前的访问请求当中含有非法字符,已经被系统拒绝“
解决方案:\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;
- }
复制代码 注:这是修改过的代码,是为了解决其它”非法字符“。修改过程见:http://www.myele.com/thread-10184-1-1.html
在代码中添加:
- if(strpos($temp, 'NEED_OUT_ANIMATION') !== false ) {
- $index= strpos($temp, 'NEED_OUT_ANIMATION');
- $temp = substr($temp,0, $index-1);//使用substr函数从字符串的开头截取至$index指定字符的位置
- }
复制代码
修改后的代码:
- private function _xss_check() {
- $temp = strtoupper(urldecode(urldecode($_SERVER['REQUEST_URI'])));
- //检查链接中是否有NEED_OUT_ANIMATION参数,如果有,则是从抖音跳转过来的链接,将其删除,以解决“非法字符问题”。
- if(strpos($temp, 'NEED_OUT_ANIMATION') !== false ) {
- $index= strpos($temp, 'NEED_OUT_ANIMATION');
- $temp = substr($temp,0, $index-1);//使用substr函数从字符串的开头截取至$index指定字符的位置
- }
- if(strpos($temp, '<') !== false || strpos($temp, '"') !== false || strpos($temp, 'CONTENT-TRANSFER-ENCODING') !== false) {
- system_error('request_tainting');
- }
- return true;
- }
复制代码
|