如何阻止用户将<?php ?>
输入我的表单。
我正在使用urlencode(),然后在将数据回显到我的页面时使用urldecode(),最好的办法是什么?
更新
我正在使用文本urlencoded写入数据库:
htmlentities (urlencode($_POST['postmessage']));
我正在使用:
<?php echo htmlentities (urldecode($row['content'])) ?>
回显保存的数据。那够了吗?
答案 0 :(得分:4)
我建议你使用HTML Purifier:
HTML Purifier符合标准 用PHP编写的HTML过滤器库。 HTML Purifier不仅会删除所有内容 恶意代码(俗称为 XSS)经过全面审核,
它安全但宽容的白名单 还将确保您的文件 符合标准,只有一些东西 可以全面实现 了解W3C的规范。
答案 1 :(得分:0)
好吧,你可以摆脱不属于网址的所有字符
$var = filter_var($url, FILTER_SANITIZE_URL);
然后您可以检查它是否是有效的网址
$var = filter_var($url, FILTER_VALIDATE_URL);
if($var == false)
die("Bad URL");
答案 2 :(得分:0)
你在做什么代码?执行它? 当你回应PHP代码时,不需要担心服务器端...你宁愿做html_entity_encode来防止你的网站被iframes / javascripts用户帖子弄乱或者注入