Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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/6/xamarin/3.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
Javascript PHP的mysql\u real\u escape\u字符串的替代方案_Javascript_Php_Sql Injection - Fatal编程技术网

Javascript PHP的mysql\u real\u escape\u字符串的替代方案

Javascript PHP的mysql\u real\u escape\u字符串的替代方案,javascript,php,sql-injection,Javascript,Php,Sql Injection,PHP有mysql\u real\u escape\u字符串的替代方案吗。我想删除输入到文本框中的任何javascript或php代码。您可以使用strip\u标记-它将删除所有html标记,包括javascripts。这不是mysql\u real\u escape\u string所做的或函数现在所做的。mysql\u real\u escape\u字符串的另一种替代方法是使用准备好的语句,例如使用or 然而,这与从字符串中剥离Javascript或PHP代码完全无关——同样;识别“Java

PHP有mysql\u real\u escape\u字符串的替代方案吗。我想删除输入到文本框中的任何javascript或php代码。

您可以使用strip\u标记-它将删除所有html标记,包括javascripts。

这不是mysql\u real\u escape\u string所做的或函数现在所做的。mysql\u real\u escape\u字符串的另一种替代方法是使用准备好的语句,例如使用or

然而,这与从字符串中剥离Javascript或PHP代码完全无关——同样;识别“Javascript”或“PHP”可能比较困难

这里真正的问题是;你为什么要剥掉它?危险不在于保存数据,而在于显示数据。您永远不应该执行用户输入的代码,无论是Javascript还是PHP


至于Javascript,在输出中不允许HTML标记就足够了。将函数视为,甚至更好。阻止PHP执行更容易;不要使用这种方法。

mysql\u real\u escape\u string是一个函数,用于确保您的字符串在进入数据库时正确转义。进入数据库的内容正是您开始使用的内容

任何删除或更改字符串的操作都不能替代mysql\u real\u escape\u字符串。换句话说,它将更改字符串,而不是转义它

如果要更改存储的字符串,可以通过strip_标记或preg_replace运行它


但是,如果适合于您的情况,请考虑在从数据库中检索数据库之后,在显示它之前运行该字符串。

< Py> MySQLXRealOracle EntryString用于避免SQL注入攻击-在那里人们试图对数据库执行SQL命令。您仍然需要使用这个-或者转到PDO准备的语句等


mysql_real_escape_string并不是一种净化用户输入的方法,例如html、javascript,这会使您的站点受到XSS攻击。为此,我建议。

带标签将是一个选项mysql\u real\u escape\u字符串不是为删除JS或PHP代码而设计的。。。你想做什么?在放入数据库之前转义数据?还是剥离JS/PHP代码?回答如下:@AresDraguna我确实联系过拉里·佩奇,他显然是我的好朋友。他说,虽然谷歌会给你搜索结果,但如果你能获得用户级别,这会让我有更多的经验,那就好了。@X10nD告诉我。。。为什么你有4k代表,但仍然不知道如何提问?那么,htmlspecialchars或strip_标签哪个更好?这取决于你的需要。strip_tags剥离所有HTML和PHP标记,这会给您留下格式错误的字符串。html_special_chars使您能够显示用户输入的数据,而不存在执行Javascript的风险;这可能会很好?要么是htmlspecialchars要么是strip_标签。这种组合是多余的。我会选择htmlspecialchars。既然每个都有不同的属性,为什么它是多余的。有人能告诉我,为什么会有否决票吗?他问如何从文本中删除代码,这正是strip_标签所做的。我没有否决这一点,但我同意他们的看法。strip_标记删除html标记。它不会删除javascript,除非它位于脚本标记中,或者php,即使它位于php标记中。