我正在开发一个网站,但在某些时候,我需要检测我网站上的外发链接,并且要么禁止链接,要么接受,我不知道facebook是如何做到的,但是他们可以通过facebook.com/l.php来完成,如果链接被标记为垃圾邮件,用户将收到有关它的通知。
我不知道这是不是php或htaccess,它使用DOMDOCUMENT在php中工作,但它不是真正的解决方案。
答案 0 :(得分:1)
这不是您在Apache或.htaccess
级别上解决的问题。基本上,无论何时输出链接,检查它是否是外部链接,如果是,请将目标更改为重定向器。
然后,重定向器可以只检查传递的URL,如果它被标记为恶意,它可以显示一条消息,如果不是,那么它可以自动重定向或显示某种通知,即您要离开网站
答案 1 :(得分:0)
l.php
是一个通过$_GET['u']
读取链接的脚本。手中的URL会决定您希望客户端重定向到哪里。
从外观上看,您希望用户教您的应用程序什么是垃圾邮件,什么不是垃圾邮件。为此,您需要一个按钮"报告垃圾邮件"在网址旁边。
答案 2 :(得分:0)
我并非100%确定Facebook如何实现它,但我建议使用JQuery(或其他javascript库)重写所有外部链接以验证PHP脚本(例如Facebook' s l.php脚本),w /目标url作为GET参数传递。
使用JQuery,它可能看起来像:
$('a[href]').each(function(){
var safe_href = 'http://yourdomain.com/yourscript.php?url='+$(this).attr('href');
$(this).attr('href', safe_href);
});
然后,您可以根据变量$_GET['url']
在yourscript.php中执行数据库查找,如果安全,则重定向到该网址,如果不是,则会显示消息。< / p>