我如何清理和清理用户提交的URL以在Java中重新显示?

问题描述 投票:2回答:3

我希望用户能够提交一个URL,然后将该URL作为链接显示给其他用户。

如果我天真地重新显示用户提交的内容,我将保持开放状态,例如

http://somesite.com' ><script>[any javacscript in here]</script>

当我将其重新显示给其他用户时,会做一些令人讨厌的事情,或者至少使我显得不专业,因为没有阻止它。

是否有一个库,最好是用Java编写的库,它会清理一个url,以便保留所有有效的url,但清除掉任何漏洞利用/骗子?

谢谢!

我希望用户能够提交一个URL,然后将该URL作为链接显示给其他用户。如果我天真地重新显示用户提交的内容,我将保持开放状态,例如http://somesite.com'&...

java javascript html security
3个回答
1
投票

3
投票

包含'的网址是完全有效的。如果将它们输出到HTML文档而不进行转义,则问题出在缺少HTML转义,而不是输入检查中。您需要确保在将任何可变文本(包括URL)输出到HTML文档中时,every


3
投票

我认为您正在寻找的是输出编码。看看OWASP ESAPI,它是在Java中执行编码的经过尝试和测试的方式。

© www.soinside.com 2019 - 2024. All rights reserved.