我正在开发一个PHP站点,允许用户发布与站点主题相关的业务列表.这包括单个链接URL,一些文本和图像文件的可选URL.
例:
<img src="http://www.somesite.com" width="40" />
<a href="http://www.abcbusiness.com" target="new">ABC Business</a>
<p>
Some text about how great abc business is...
</p>
Run Code Online (Sandbox Code Playgroud)
使用htmlpurifier.org中的类过滤文本中的HTML,并检查内容是否有坏词,所以我对这部分感觉相当不错.
图像文件URL始终放在<img src="" />具有固定宽度的标记内,并验证为实际的HTTP URL,因此应该是Ok.
危险的部分是链接.
问题:如何确定链接不指向某些垃圾邮件,不安全或色情网站(使用代码)?
我可以检查404等标题...但是有一种快速简便的方法来验证链接中的网站内容.
编辑:
我正在使用CAPTCHA并且在允许发布之前需要注册.
通过抓取有问题的站点URL,很难尝试自己确定.你可能想要依赖一些可以检查你的第三方API.
http://code.google.com/apis/safebrowsing/
查看该API,您可以发送一个URL,它会告诉您它的想法.这个主要是检查恶意软件和网络钓鱼......而不是色情和垃圾邮件.还有其他人做同样的事情,只是在谷歌搜索.
有一种快速简便的方法来验证链接中的网站内容.
没有.没有全球白/黑名单的URL可以用来以某种方式过滤掉"坏"网站,特别是因为你对"坏"网站的定义是如此不明确.
即使你可以查看一个URL并告诉它所指向的页面是否包含不良内容,这些天很容易伪装一个URL.
如果你真的需要阻止这种情况,你应该调整你的内容.任何自动化解决方案都将是不完美的,无论如何你最终会手动调节.