处理用户提供的网址的最佳或最安全的方法是什么。我希望将网址带到社交媒体网站; twitter,google +,facebook,youtube等。我希望能够将这些网址存储在我的数据库中,而不会对数据库或网站造成风险。
我有什么选择?我是否过滤输入和转义/排除字符,我是否只接受部分网址?
我仍然不确定安全过滤这些链接的最佳方法,我想到的是一个系统,用户将上线链接与可接受格式的数组进行比较
即
我的Facebook链接是https://www.facebook.com/lilbugga,但我也可以使用https://www.facebook.com/532850510。
直接有2种不同的变化,然后人们也可以尝试使用http,https,www,no www等提交链接到他们的个人资料
如何处理格式中所有这些不同的可能变化,我是否创建了一个数组,其中存储了多种不同格式的链接,以比较用户提供的字符串?
答案 0 :(得分:2)
网址带来的巨大风险不是它们包含的内容(您可以像进入系统的任何其他数据一样进行清理),而是它们的去向。您的关注点应该与发送有关您的用户通过重定向导致恶意软件感染,网上诱骗网站等。还要找到尽可能过滤垃圾邮件的方法 - 任何可以接受输入的暴露网页都将成为垃圾邮件发送者的保证目标,无论多么模糊,所以你需要在设计中考虑这一点。
您可能希望查看来自Google的the Safe Browsing API内容(我确定存在其他替代方案),以便在您将其置于可用之前识别可能存在问题的网址。