谢谢您的回复,您的方法可以解决这个问题,但我也想了解源码中如何学习。
1、我试了修改/var/Widget/Security.php 中下面的这一段,将getRefer()替换成了getRequestUrl(),没有效果。
代码: 全选
/**
* 保护提交数据
*/
public function protect()
{
if ($this->enabled && $this->request->get('_') != $this->getToken($this->request->getReferer())) {
$this->response->goBack();
}
}
2、我尝试修改了/var/Widget/FeedBack.php文件中下面这段,但是也没有效果。
代码: 全选
/*
* 这是新增的代码,替代 getReferer() 函数
*/
public function typechon_get_referer()
{
if (strpos($_SERVER["HTTP_HOST"], "www.python.hn.cn") !== false || strpos($_SERVER["HTTP_HOST"], "mangshe.python.hn.cn") !== false) {
$tycode = $_SERVER["HTTP_HOST"];
}
return $tycode;
}
然后将这个自定义函数类型cho_get_referer的返回值替换掉下面代码的$referer,由getReferer()获取的参数。
代码: 全选
/** 检查来源 */
if ($this->options->commentsCheckReferer && 'false' != $this->parameter->checkReferer) {
#$referer = $this->request->getReferer(); //这里改成
$referer = typechon_get_referer();
修改过后,我发现不能登陆后台了。