存储用户PHP / MYSQL提供的链接

时间:2014-05-12 14:54:10

标签: php security url user-input input-sanitization

处理用户提供的网址的最佳或最安全的方法是什么。我希望将网址带到社交媒体网站; twitter,google +,facebook,youtube等。我希望能够将这些网址存储在我的数据库中,而不会对数据库或网站造成风险。

我有什么选择?我是否过滤输入和转义/排除字符,我是否只接受部分网址?

我仍然不确定安全过滤这些链接的最佳方法,我想到的是一个系统,用户将上线链接与可接受格式的数组进行比较

我的Facebook链接是https://www.facebook.com/lilbugga,但我也可以使用https://www.facebook.com/532850510

直接有2种不同的变化,然后人们也可以尝试使用http,https,www,no www等提交链接到他们的个人资料

如何处理格式中所有这些不同的可能变化,我是否创建了一个数组,其中存储了多种不同格式的链接,以比较用户提供的字符串?

1 个答案:

答案 0 :(得分:2)

网址带来的巨大风险不是它们包含的内容(您可以像进入系统的任何其他数据一样进行清理),而是它们的去向。您的关注点应该与发送有关您的用户通过重定向导致恶意软件感染,网上诱骗网站等。还要找到尽可能过滤垃圾邮件的方法 - 任何可以接受输入的暴露网页都将成为垃圾邮件发送者的保证目标,无论多么模糊,所以你需要在设计中考虑这一点。

您可能希望查看来自Google的the Safe Browsing API内容(我确定存在其他替代方案),以便在您将其置于可用之前识别可能存在问题的网址。