做外链这行,一转眼都七年了。
说实话,现在的环境比五年前难做太多了。
以前发发文章,挂挂链,排名蹭蹭涨。
现在呢?百度对友链审核严得像防贼。
稍微有点风险的站,直接降权。
我前几天帮一个老客户看站,发现他的DEDECMS后台出了大问题。
不是被挂马,也不是被篡改首页。
而是友链那块,被人钻了空子。
这就涉及到了那个让人头疼的词:dedecms友情链接 csrf。
很多站长可能听过这个词,但不知道具体咋回事。
我也是一头雾水,后来查了资料,又自己试了几次,才搞明白。
这玩意儿说白了,就是跨站请求伪造。
攻击者不需要知道你的密码,也不需要登录你的后台。
他们只需要诱导你点击一个链接,或者在某个页面里藏个脚本。
当你登录后台,去管理友情链接的时候,那个脚本就悄悄执行了。
它会自动帮你加上一个黑链,或者把你原本的优质友链给删了。
这操作,简直防不胜防。
我那个客户的站,一夜之间多了二十多个博彩链接。
要是百度蜘蛛爬过去,估计第二天就收到警告信了。
客户急得团团转,问我咋办。
我说别慌,这种问题有解法。
毕竟DEDECMS虽然老,但社区还是有人维护的。
我整理了几个步骤,大家照着做,基本能稳住。
第一步,检查你的include文件夹。
找到那个文件,叫dede/templets/link_add.htm。
或者类似的模板文件。
你看里面有没有什么奇怪的表单提交。
正常的友链添加,应该是有token验证的。
如果没有,那就是漏洞。
这时候,你需要手动加上token。
在表单里加一行hidden input,名字叫_dopost,值设为add。
当然,这只是前端防君子不防小人。
真正关键的在后端。
第二步,修改后台处理逻辑。
去dede/link_add.php这个文件。
找到处理提交的代码段。
在接收参数之前,加一段验证。
验证当前的session有没有token。
如果没有,直接拒绝请求,返回错误提示。
这段代码不长,大概就五行左右。
写的时候注意缩进,别搞错了。
我上次手抖,把括号漏了一个,结果后台直接报错,差点把服务器搞崩。
那种感觉,真的想砸键盘。
所以一定要仔细,再仔细。
第三步,升级你的DEDECMS版本。
如果你还在用5.7或者更老的版本,赶紧升。
官方虽然更新慢,但安全补丁还是有的。
特别是针对csrf的修复,新版做得比较完善。
当然,升级有风险,备份一定要做。
我习惯用宝塔面板的一键备份功能。
点几下鼠标,整个站就打包好了。
万一升级失败,还能回滚。
这一步虽然简单,但很多懒人站长会忽略。
结果出了事,哭都来不及。
第四步,定期清理友链。
别偷懒。
每周至少看一次后台的友链列表。
看看有没有陌生的域名。
特别是那些域名很短,或者全是数字的。
大概率是黑产。
一旦发现,立马删除。
不要犹豫。
犹豫就会败北。
我见过太多站长,觉得“可能不是”,结果一拖再拖。
最后被百度K站,后悔都晚了。
其实,解决dedecms友情链接 csrf 问题,核心就是两点。
一是验证,二是清理。
验证是为了防止别人偷偷改你的数据。
清理是为了确保你的友链质量。
这两点做好了,基本能挡住90%的攻击。
剩下的10%,靠运气。
毕竟黑客也是人,他们也会累,也会换思路。
我们做站,也是在做持久战。
不能指望一劳永逸。
得时刻盯着。
就像养孩子一样,稍微不注意,就长歪了。
我这些年,见过太多同行因为一个小漏洞,把几年的心血搭进去。
真的心疼。
所以,希望大家都能重视起来。
别觉得DEDECMS是老系统,就掉以轻心。
老系统也有老系统的优势,稳定嘛。
但安全这块,真不能马虎。
希望这篇文章能帮到你们。
要是还有不懂的,可以在评论区问我。
虽然我不一定秒回,但看到都会看。
毕竟,大家都不容易。
做SEO,就像在黑夜里走路。
得自己摸索,才能找到光。
共勉吧。