PHP中html属性中的转义URL

PHP中html属性中的转义URL,php,security,xss,Php,Security,Xss,我目前正在使用一些现有代码,从请求中提取URL并将其输入到锚源中。这显然是XSS的一个开放,使用urlencoding不会在锚内保持url的完整性。我很好奇,在不破坏链接的情况下逃离数据的最安全方法是什么 i、 e htmlspecialchars($url)将HTML敏感字符转换为其实体等价物。然而,也可以在URL中插入javascript片段——我个人并不了解这些细节。一个更复杂的解决方案,例如,可能会帮助您覆盖大多数漏洞。还有一个过滤器_var,它有一组预定义的过滤器,您可以使用,我相信其

我目前正在使用一些现有代码,从请求中提取URL并将其输入到锚源中。这显然是XSS的一个开放,使用urlencoding不会在锚内保持url的完整性。我很好奇,在不破坏链接的情况下逃离数据的最安全方法是什么

i、 e


htmlspecialchars($url)
将HTML敏感字符转换为其实体等价物。然而,也可以在URL中插入javascript片段——我个人并不了解这些细节。一个更复杂的解决方案,例如,可能会帮助您覆盖大多数漏洞。

还有一个
过滤器_var
,它有一组预定义的过滤器,您可以使用,我相信其中一个是用于URL的:

编辑:是:清理过滤器:

 <? 
    $url = $_REQUEST['url'];
    echo '<a href="' . $url . '">sometext</a>'; 
?>