我正在开发一个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>
使用htmlpurifier.org中的类过滤文本中的HTML,并检查内容是否有坏词,所以我觉得这部分非常好。
图像文件URL始终位于<img src="" />
标记内,其宽度固定,并且已验证为实际的HTTP URL,因此应为“确定”。
危险的部分是链接。
问题: 如何确定该链接不指向某些垃圾邮件,不安全或色情网站(使用代码)?
我可以检查404等标题...但是有一种快速简便的方法可以从链接验证网站内容。
编辑:
我正在使用CAPTCHA,并且在允许发布之前需要注册。
答案 0 :(得分:8)
有一种快速简便的方法来验证链接中的网站内容。
没有。没有全局白/黑名单的URL可用于以某种方式过滤掉“坏”网站,特别是因为您对“坏”网站的定义非常不具备。
即使你可以查看一个URL并告诉它指向的页面是否包含不良内容,这些日子很容易伪装一个URL。
如果你真的需要阻止这种情况,你应该调整你的内容。任何自动化解决方案都将是不完美的,无论如何你最终会手动调节。
答案 1 :(得分:8)
通过抓取有问题的网站网址来尝试自行确定是非常困难的。你可能想要依赖一些可以检查你的第三方API。
http://code.google.com/apis/safebrowsing/
查看该API,您可以向其发送一个URL,它会告诉您它的想法。这个主要是检查恶意软件和网络钓鱼......而不是色情和垃圾邮件。还有其他人做同样的事情,只是在谷歌搜索。
答案 2 :(得分:2)
也许是手动审核。除了使用某种黑名单之外,我想不出任何自动化的方法,但即便如此,由于新的网站可能不在列表中,因此并不总是可靠的。
此外,您可以尝试使用cURL并下载索引页面并查找会引发红旗的某些关键字,然后可能会保留这些关键字以进行手动验证。
我建议在阵列中列出这些关键字(色情,性别等)。如果您使用cURL下载的索引页面具有任何关键字,请拒绝或标记以进行审核。
这不可靠,也不是批准链接的最佳方式。
最终,您应该手动审核,但如果您希望自动化,这是您可以选择的途径。
答案 3 :(得分:0)
您可以创建一个小型监控系统,用于传输用户
创建的内容到只有管理员才能访问的批准队列,以批准应该
的内容显示在网站