我希望用户能够提交一个URL,然后将该URL作为链接显示给其他用户。
如果我天真地重新显示用户提交的内容,我将保持开放状态,例如
http://somesite.com' ><script>[any javacscript in here]</script>
当我将其重新显示给其他用户时,会做一些令人讨厌的事情,或者至少使我显得不专业,因为没有阻止它。
是否有一个库,最好是用Java编写的库,它会清理一个url,以便保留所有有效的url,但清除掉任何漏洞利用/骗子?
谢谢!
我希望用户能够提交一个URL,然后将该URL作为链接显示给其他用户。如果我天真地重新显示用户提交的内容,我将保持开放状态,例如http://somesite.com'&...
包含'
的网址是完全有效的。如果将它们输出到HTML文档而不进行转义,则问题出在缺少HTML转义,而不是输入检查中。您需要确保在将任何可变文本(包括URL)输出到HTML文档中时,every
我认为您正在寻找的是输出编码。看看OWASP ESAPI,它是在Java中执行编码的经过尝试和测试的方式。