我有一个网站,允许用户输入网站的 URL 以与其他用户共享。
我们目前在向其他用户显示 URL 时会对其进行 htmlentities() 处理,但这有时会由于转换有效字符而导致 URL 损坏。
从 URL 中删除潜在恶意字符同时尽可能少地破坏 URL 的最佳方法是什么?
Example
Original URL: website.com?foo=1&bar=2
Escaped/Broken URL: website.com?foo=1&bar=2
我有一个网站,允许用户输入网站的 URL 以与其他用户共享。
我们目前在向其他用户显示 URL 时会对其进行 htmlentities() 处理,但这有时会由于转换有效字符而导致 URL 损坏。
从 URL 中删除潜在恶意字符同时尽可能少地破坏 URL 的最佳方法是什么?
Example
Original URL: website.com?foo=1&bar=2
Escaped/Broken URL: website.com?foo=1&bar=2
这取决于你输出到什么,但如果它是 html,你可以使用它htmlspecialchars
。那只会转义在 html 中具有特殊含义的字符。
您应该使用 REGEX 来满足您的自定义规则。