问题标签 [mysql-real-escape-string]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
60570 浏览

php - PHP mysql_real_escape_string() -> stripslashes() 留下多个斜杠

我在使用 PHP/MySQL 转义/剥离字符串时遇到问题 - 似乎总是有多余的斜杠。


我们以下面的字符串为例:


将字符串添加到数据库时,我将其转义,mysql_real_escape_string()并将以下内容存储在数据库中(编辑:通过直接使用 mysql 应用程序查询数据库进行检查):


从数据库中读回时,我正在传递字符串stripslashes()并返回以下内容:


由于引号仍然被转义,它破坏了 html 并且文本没有下划线。


  1. 为什么要mysql_real_escape_string()加三个斜线,stripslashes()去掉两个斜线?我希望他们都添加/删除一个斜线。
  2. 我怎样才能防止这种情况发生?
  3. 我以正确的方式接近这个吗?
0 投票
6 回答
37605 浏览

php - 为什么 PDO 比 mysql_real_escape_string 更适合转义 MySQL 查询/查询字符串?

有人告诉我,我最好使用PDOMySQL 转义,而不是mysql_real_escape_string.

也许我正在度过一个脑残的日子(或者可能是因为我没有想象力是一个天生的程序员,而且在 PHP 方面我仍然处于新手阶段),但是有查看了 PHP 手册并阅读了 PDO 上的条目,我仍然不清楚 PDO 到底是什么以及为什么它比使用mysql_real_escape_string. 这可能是因为我还没有真正掌握 OOP 的复杂性(我假设它与 OOP 有关),但除了变量和数组值前面似乎有一个冒号之外,我仍然不确定它实际上是什么以及您如何使用它(以及为什么它比mysql_real_escape_string. (这也可能与我对什么是“类”并没有清楚的了解有关,所以当我阅读“PDO 类”时,我真的一点也不聪明)。

在阅读了 MySQL 网站的“开发者专区”位上的一两篇文章后,我仍然不清楚。由于目前我什至无法弄清楚它是什么,我认为现在使用它可能有点超出我的能力,但我仍然有兴趣扩大我的教育范围并找出如何改进事情。

谁能用“简单的英语”向我解释 PDO 是什么(或指出我用简单的英语写的关于该主题的东西的方向),以及您将如何使用它?

0 投票
3 回答
1569 浏览

php - 为什么要使用 mysql_real_escape_string() ,因为 $_POST 会自动在引号前添加斜杠?

在 PHP 中,$_POST 会自动在引号前添加斜杠,那么为什么还要使用 mysql_real_escape_string()?例如,当我'rrr在输入字段中输入时,\'rrr当我回显它时我得到了。

0 投票
1 回答
6698 浏览

c++ - c++ Mysql C API mysql_real_escape_string

我正在为 mysql c api 构建一个类包装器,特别是目前为 mysql_real_escape_string 并且我认为我做得不太对。

这就是我的功能:

我尝试运行它,但它没有按预期执行并以 mysql 错误结束。

0 投票
4 回答
1516 浏览

php - PHP MYSQL 文件内容转义问题

我正在尝试使用 php 将 .pdf 文件上传到 mysql 数据库中。

除了文件的内容外,一切都很好。无论我如何尝试转义特殊字符,查询总是失败,主要是“未知命令\n”。

我使用过addslashes、mysql_real_escape_string、removeslashes 等。

有人对如何转义文件内容有任何想法吗?

非常感谢,

0 投票
4 回答
2880 浏览

php - mysql_real_escape_string() 是否需要 $_SESSION 变量?

mysql_real_escape_string()我应该在我的 MySQL 查询中使用该函数来查询$_SESSION变量吗?从理论上讲,$_SESSION最终用户不能修改变量$_GET$_POST变量,对吗?

谢谢 :)

0 投票
5 回答
10993 浏览

perl - 对于 Perl 的 DBI,是否有相当于 PHP 的 mysql_real_escape_string() 的?

有人能告诉我是否有一个函数与DBI模块中的mysql_real_escape_string()Perl 的PHP 相同吗?

0 投票
7 回答
12160 浏览

php - Htmlentities vs addlashes vs mysqli_real_escape_string

我一直在阅读有关保护 PHP 应用程序的内容,在我看来,这mysqli_real_escape_string是在将数据插入 MySQL 表时使用的正确函数,因为addslashes可能会导致聪明的攻击者发生一些奇怪的事情。对?

然而,有一件事让我感到困惑。我似乎记得被建议addslasheshtmlentities将用户输入的数据回显给用户以保护他们的数据要好,但似乎addslashes是有漏洞的那个。这是真的,还是我记错了?

0 投票
3 回答
5755 浏览

php - 如果我绑定参数,我是否必须使用 mysql_real_escape_string?

我有以下代码:

在这种情况下我是否需要 mysql_real_escape_string 或者我可以吗?

0 投票
4 回答
1295 浏览

php - PHP、jQuery 和 .post():mysql_real_escape_string 搞砸了

我已经用这个扯了一段时间的头发了。

索引.php:

登录.php:

没有任何回声返回任何东西。

设置.php:

如果我将 settings.php-include 注释掉,则代码运行良好(当然, echo $uid 不起作用),所以它必须是 mysql_real_escape_string 所做的。有人知道我做错了什么吗?

index.php 还包括 settings.php 如果这有什么不同的话。

编辑:下面的帖子让我想澄清一下;路径都是正确的。settings.php(和其他一些脚本)都放在根文件夹之外,以使 Web 用户无法访问它们。当脚本访问它们时,它们运行良好。