脚本宝典收集整理的这篇文章主要介绍了php – 如何清理用户提交的网址?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
echo '<a href="'.$retrieved_string.'" target="_blank">';
然而,即使使用编码的特殊字符和引号,由于可能插入的javascript,错误链接的示例,href可能不安全:
javascript:alert(document.cookie);
所以我想的是剥离潜在的’javascript’标签(当然我在进行特殊字符编码之前),如下所示:
PReg_replace('/^javascript:?/','',$submITted_and_trimmed_input);
所以让我们完全总结一下:
$input=htmlspecialchars(preg_replace('/^javascript:?/',trim($_POST['link'])),11,'UTF-8',true); MysqL_query("update users set link='".MysqL_real_escape_string($input)."'"); //And retrieving: $query=MysqL_query("select link From users"); $a=MysqL_fetch_assoc($query); echo '<a href="'.$a['link'].'" target="_blank">';
现在问题是,网址链接是否足够安全,或者是否还有其他潜在的意外我应该警惕?
编辑:
我已经阅读了一些关于filter_VAR()的内容,它似乎在很多方面完全失败了.它不会使用unicode字符验证国际域,然后以下字符串再次成功通过测试:
http://example.COM/"><script>alert(document.cookie)</script>
filter_var()
filter_var('http://example.com',FILTER_VALIDATE_URL,FILTER_FLAG_PATH_required)
以上是脚本宝典为你收集整理的php – 如何清理用户提交的网址?全部内容,希望文章能够帮你解决php – 如何清理用户提交的网址?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。