Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何禁止文本框中的脚本标记_Php_Html_Codeigniter - Fatal编程技术网

Php 如何禁止文本框中的脚本标记

Php 如何禁止文本框中的脚本标记,php,html,codeigniter,Php,Html,Codeigniter,我试图在我的网站上实现post功能,我正在开发codeigniter(PHP)。我的问题是当我输入并提交: <script> alert("aaaa"); </script> 警报(“aaaa”); JavaScript开始工作,代码在页面加载时执行,那么如何清理用户输入中的脚本标记呢 我希望所有类型的编码标记在提交时在我的文本框中显示为简单文本如果要在浏览器上输出内容,请使用htmlentities() echo htmlentities("<script&

我试图在我的网站上实现
post
功能,我正在开发
codeigniter(PHP)
。我的问题是当我输入并提交:

<script>
alert("aaaa");
</script>

警报(“aaaa”);
JavaScript开始工作,代码在页面加载时执行,那么如何清理用户输入中的脚本标记呢


我希望所有类型的编码标记在提交时在我的文本框中显示为简单文本

如果要在浏览器上输出内容,请使用
htmlentities()

echo htmlentities("<script>alert('aaaa');</script>");
echo-htmlentities(“警报('aaaa');”);

忽略这个答案,我只把它留给那些被关于“脚本”标记的原始问题误导的人,而不是“所有HTML”标记


如果您想让您的用户输入仲裁HTML代码,但防止XSS漏洞,这就是HTML净化器的目的


这也可以防止iframe、embed等。它基于白名单并经过良好测试。

有关htmlspecialchars的更多信息,您需要始终清理用户输入。您永远不能信任用户,也不能信任应用程序外部的任何输入。例如,如果您正在从另一个应用程序使用的数据库中读取数据,您应该清理从该数据库中获取的数据,因为您永远无法确保那里的数据是安全的。在您的规则或验证中使用…“xss_clean()”…这样它就会改变,您的问题也会得到解决问题是“如何避免在文本框中编写标记脚本”不是如何避免HTML标记。脚本标记是HTML标记:),应该使用它来避免
等等
是最糟糕的标签之一,但决不是这种情况下唯一有问题的标签。对此表示抱歉,但我认为这可能会有所帮助,因为这是用户输入,他很有可能想要一种让用户格式化其输入的方法。我的回答仍然解决了这里概述的问题,同时允许用户按照自己的喜好格式化。HTML净化器使用白名单系统,专为完成这项任务而设计。是的,但是当内置函数执行他想要的确切任务时,为什么还要麻烦使用库呢?用户希望
所有类型的编码标签在提交时在我的文本框中显示为简单文本。
。这很好,太糟糕了,编辑在游戏中进行得太晚了,我无法收回我的反对票。不用担心,有些人无法解释用户的新需求。他问如何删除所有“编码”标签,而不是所有“标记”标签。HTML净化器仍然是一个更好的选择,因为它可以配置如何处理CSS内容。