问题标签 [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 投票
9 回答
26406 浏览

php - mysql_real_escape_string() 在 MySQL 中留下斜杠

我刚搬到一家新的托管公司,现在每当一个字符串被转义时,使用:

斜线保留在数据库中。这是我第一次看到这种情况发生,所以我的脚本都没有使用

了。

这是在 CentOS 4.5 64 位上运行 php 5.2.6 作为 fastcgi 在 lighttpd 1.4 服务器上。我确保所有 magic_quotes 选项都关闭,并且 mysql 客户端 api 是 5.0.51a。

我的所有 6 个网络服务器都有相同的问题。

任何帮助,将不胜感激。

谢谢。

编辑:

魔术行情未开启。请不要建议关闭它。这不是问题。

0 投票
4 回答
634 浏览

php - 用户提供的输入 SQL 转义

你能给我建议吗?我搜索了问题,但没有找到与我相似的问题。

当我打算在 SQL 查询中使用我的用户输入时,如何使它们自动转义?我不喜欢在我的代码中充满类似的东西

假设我有执行 mysql_real_escape_string 的 Escape 方法的数据库类

但我也不能在 SQL 查询上设置自动转义,因为它会破坏插入查询:

它使他们成为\'xxx\'。这是不正确的。

我想做的最后一件事是制作参数化语句,因为它会使系统更加复杂。当没有其他东西时,我会考虑这个选项。

简而言之 - 如何制作适用于整个查询并仅转义值的智能自动转义?

0 投票
3 回答
293 浏览

php - 这至少是轻度安全的 php 代码吗?

我有一堆 $_POST 变量通过长格式发送,而不是用 a 对每个变量进行硬编码mysql_escape_string(),我可以执行以下操作吗?我不知道这是否真的是安全和/或可行的代码。

我相当肯定,因为我使用的是 &,它通过引用而不是值传递它,所以我实际上是在更改 $_POST 中的值。

另外,我应该mysql_real_escape_string()改用吗?

编辑:我正在使用 PDO 和 prepare() 以及上述方法。这对我有用吗?

0 投票
1 回答
3690 浏览

php - mysql_real_escape_string() 完全删除字符串

我正在转义从这样的 php 表单收到的所有字符串参数:

以避免 SQL 注入的一些问题。但是当我从函数中返回字符串时,我什么都没有。

此外,我的 PHP 日志中不断收到这个奇怪的警告:

主机使用:PHP 版本 4.4.7

0 投票
3 回答
3269 浏览

mysql - 在 CakePHP 中保存数据时使用 mysql_real_escape_string 和 htmlspecialchars 的最佳方法是什么?

我将 FCKEditor 与 CakePHP 一起使用,当我保存从编辑器发送的数据时,我想在数据上运行 htmlspecialchars() 和 mysql_real_escape_string() 函数以在将其存储到数据库中之前对其进行清理。问题是我不太确定在 CakePHP 框架中的何处执行此操作。我在控制器中尝试过这样的:

但是 $this->data 是一个数组,这些函数需要字符串,所以这不起作用。我是否在模型的验证数组中执行此操作?我不知道。另外,如果在 mysql_real_escape_string() 中运行 htmlspecialchars() 不是一个好习惯,请告诉我。

0 投票
3 回答
1836 浏览

php - Sql 注入尝试 PHP 5.2.6

在 XAMPP 中使用 PHP 5.2.6:我在这里
阅读了有关 sql 注入的信息,并使用以下登录表单进行了尝试:

和php代码:

我发现,$pass 变量已经转义了所有特殊字符。那么, PHP 5.2.6 中是否不需要使用 mysql_真正的_转义字符串呢?_

0 投票
4 回答
125797 浏览

php - mysql_real_escape_string 的替代方案,无需连接到数据库

我希望有一个函数表现为 mysql_real_escape_string 而不连接到数据库,因为有时我需要在没有数据库连接的情况下进行干测试。mysql_escape_string 已被弃用,因此是不可取的。我的一些发现:

http://www.gamedev.net/community/forums/topic.asp?topic_id=448909

http://w3schools.invisionzone.com/index.php?showtopic=20064

0 投票
6 回答
12743 浏览

php - mysql_real_escape_string 和单引号

我很沮丧。我希望能够在我的数据库名称中插入单引号 - 例如,O'Connor。

因此,当插入数据库时​​,我会:

然后我将 $lname 插入数据库。

当它在数据库中时,它显示为 O\'Connor。

因此,如果我要在我的 Web 应用程序中回忆那个姓氏,我将不得不使用:

这一切似乎都很好。但是,我有一个搜索功能,可以搜索姓氏并显示结果。当我搜索时,我必须搜索 O\'Connor 才能得到任何结果。

你看,在我搜索之后,文本框会自动存储刚刚搜索的值(使用会话)。所以我的代码是这样的:

就像我之前说的,当我搜索时,我必须使用“O\'Connor”,然后我搜索后,文本框中的值变成了“O\\\\'Connor”

试图弄清楚这一点令人沮丧。有谁知道我做错了什么?谢谢!

编辑:

这是我的 php5.ini 文件,关于魔术引号:

但是,我的网站托管在 GoDaddy 上,我没有编辑文件的权限 :(

0 投票
1 回答
302 浏览

php - 如何在 mysqli_real_escape_string 和 \nl 之间切换?

我一直在阅读 mysqli_real_escape_string(),并且在正确转义我的内容后,当我再次将其拉出时,我无法正确显示。

这是我的代码:

我对以下代码的希望是它会更新记录并转义任何坏字符,然后在成功后读取更新后的查询,同时保持其先前的视觉完整性。(也就是说,我希望这个内容被回显到 textarea 以显示换行符而不是 br 标签。)

不幸的是,到目前为止,我仍然在转义后显示换行符。我错过了什么?

非常感谢您的宝贵时间,非常感谢您提供的任何建议。

不幸的是,事实并非如此。我仍然得到换行符

0 投票
4 回答
3566 浏览

php - Mysql真正的转义字符串循环多个变量

假设我想插入姓名、地址、城市、州、邮编值 $name、$address 等.....

mysql_real_escape_string在插入之前如何在每个变量上运行。必须有一个 foreach 或循环或 while 方法而不是写出每个变量,对吗?

谢谢您的帮助。

汤姆

所以如果我有

我有很多错误。

怎么办?