嗯。而不是“defanging”输入或使用某种正则表达式来删除标签,将用户资料转储到<textarea>
有多安全?
例如,假设有一个PHP页面执行以下操作:
echo '<textarea>';
echo $_GET['whuh_you_say'] ;
echo '</textarea>';
通常,这很容易受到xss攻击,但在textarea
中,所有脚本标记都会显示为<script>
,并且不会被执行。
这不安全吗?
答案 0 :(得分:16)
</textarea>
<script type="text/javascript">
alert("this safe...");
/* load malicious c0dez! */
</script>
<textarea>
答案 1 :(得分:1)
strip_tags(string);
很精彩!诚实!
答案 2 :(得分:1)
如果您的用户不应该使用任何HTML标记(如果您提出此textarea解决方案,就是这种情况),只需运行htmlspecialchars()
或htmlentities()
即可完成它。保证安全。
答案 3 :(得分:0)
这谈到了在google文档中发现的textarea中的XSS漏洞(我觉得帖子有点旧 - 所以google现在可能已经确定了它),但它解释了textareas如何被用作攻击媒介。
答案 4 :(得分:-2)
足够基础:
sanitized = str_replace("<", "<", $_GET['whuh_you_say']);
sanitized = str_replace(">", ">", sanitized);