我目前正在使用一些现有的代码,这些代码从请求中取出一个 URL 并将其输入到 anchor 的源中。这显然是 XSS 的一个开端,使用 urlencoding 并不能保留 anchor 内 url 的完整性。我很好奇在不破坏链接的情况下转义数据的最安全方法是什么。
IE。
<?
$url = $_REQUEST['url'];
echo '<a href="' . $url . '">sometext</a>';
?>
最佳答案
htmlspecialchars($url)
将 HTML 敏感字符转换为其实体等效项。但是,也可以将 javascript 片段插入到 url 中——我个人不了解这些细节。更复杂的解决方案,例如 HTML Purifier可以帮助您覆盖大多数漏洞。
关于php - 在 PHP 中的 html 属性中转义 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6025330/