Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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_Javascript_Jquery_Html_Sanitization - Fatal编程技术网

Php 文本净化问题

Php 文本净化问题,php,javascript,jquery,html,sanitization,Php,Javascript,Jquery,Html,Sanitization,我将此代码添加到我的站点以进行文本清理: var re = /(<([^>]+)>)/gi; for (i=0; i < arguments.length; i++){ arguments[i].value=arguments[i].value.replace(re, ""); } var re=/(]+>)/gi; 对于(i=0;i

我将此代码添加到我的站点以进行文本清理:

var re = /(<([^>]+)>)/gi;
        for (i=0; i < arguments.length; i++){
        arguments[i].value=arguments[i].value.replace(re, "");
        }
var re=/(]+>)/gi;
对于(i=0;i
但不知何故,人们可以使用标签,仍然可以通过文本区在我的网站上发布图片。如果我的密码有误,请告诉我


附言:用户也在逃避标签

永远不要信任输入数据。 用户只需使用
curl
或其他工具,就可以向服务器发送
httppost
请求,请求中包含他想要的任何数据。 因此,在将所有数据保存到数据库之前,要有一条规则来验证服务器端的所有数据

您可以引入客户端验证来改善用户体验,但无论如何,当收到请求时,您必须在服务器端验证输入


更新:

我看到您用
php
标记了您的问题,因此如果您的服务器端应用程序是用php编写的,那么您可以使用a来清理输入数据并避免XSS,等等。
另外,如果您使用一些PHP框架,它可能会有一个自己的HTML净化器包装器。例如,Yii框架有它。

可能没什么问题,用户只需在提交之前禁用javascript即可

签入服务器端 像


他们可能会绕过JavaScript方面。。您还需要在服务器端进行清理。还要小心
i
变量,它正在泄漏。您是什么意思?老实说,当我查看用户通过mysql数据库输入的内容时,我只看到了html标记;work@Karthik在将输入存储到数据库之前,只需使用php以类似的方式检查输入
 $_POST['name'] = preg_replace('/<[^>]*>/', '', $_POST['name']);
 $_POST['name'] = strip_tags($_POST['name']);