【SEO优化】首页输入任意内容都能正常显示的问题解决方法

一、增加唯一url标签 canonical http://wenda.wecenter.com/article/1383 
二、禁止非法id访问 http://wenda.wecenter.com/question/27654

禁止方法1:在explore/main.php index_action 最上面中 添加
		if (!empty($_GET['id'])) {
HTTP::error_404();
}

禁止首页带id访问,应该能基本解决此问题

禁止方法2:更彻底一点,建立首页允许的Get参数白名单,凡是不在名单中的,都返回404 
		if (!empty($_GET)) {
$get_white_list = array('c', 'act', 'answer_count', 'app', 'category', 'day', 'feature_id', 'ignore_ua_check', 'is_recommend', 'page', 'per_page', 'post_type', 'sort_type', 'topic_id');
foreach ($_GET as $key => $value) {
if (!in_array($key, $get_white_list)) {
HTTP::error_404();
}
}
}

我目前使用第二种方法,如果你使用中发现问题,请到这里反馈,我会改进方法

打赏

0次打赏,累计0元

7 个评论

这个问题我很早就发现了。
当时研究了一段时间。修改框架的路由方法。但具体忘记修改哪里了。等有空放到github上。
http://www.51ask.org/.dsd
http://wenda.wecenter.com/.dsd
kenw2004

kenw2004 回复 Liv

方法呢,求参观!
kenw2004

kenw2004 回复 Liv

这样可以访问 http://www.51ask.org/page/2_fdsafsadfdsa
Liv

Liv 回复 kenw2004

太多疏漏了。只能发现了再修改。多谢提出。
Liv

Liv 回复 kenw2004

等我整理整理发出来。
厉害啊,整个qq群啊,一块研究
QQ群就加官方的吧 493577498

要回复文章请先登录注册