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

php - php 保护对抗他人

我有一个 php 文件,它在开始时从使用 $_GET 发送的内容中分配一些变量。

然后它执行一些 mysql 查询,处理输出,然后回显一些文本和变量。

我在代码中设置的唯一保护是mysql_real_escape_string在 GET 上。

这足以防止攻击吗?

还有什么可以做的?

0 投票
3 回答
559 浏览

php - 在 PHP 中两次转义引号

我有一个复杂的表格,我首先必须获取一些$_GET参数,显然我必须对它们做一个mysql_real_escape_string(),因为我用它们在数据库中查找东西。

他们的问题是在最初的数据库查找之后。当用户提交表单时,我将它们作为$_POST请求发送,显然必须mysql_real_escape_string再次进行此调用,以防有人试图通过伪造的表单提交来入侵我的网站。

然后我遇到的问题是参数被转义了两次,我的查询开始看起来很奇怪,如下所示:

所以系统似乎正在添加 \' 并且它让我感到困惑:) 另外,在我的其他形式中,我还没有看到这种行为。关于可能导致这种情况的任何想法?

一件奇怪的事情是我试图向帖子发送未转义的参数,并且发生了同样的问题。这是一个线索,但对我来说还不够。:(

0 投票
4 回答
4099 浏览

mysql - 何时使用 mysql_real_escape_string?

我什么时候应该使用 mysql_real_escape_string?

只有当我将行插入数据库时​​?或者只有当我有用户输入时?

谢谢

0 投票
4 回答
2257 浏览

php - mysql_real_escape_string 不够好?

因此,即使使用 %27 对数据进行了清理,您也可以只进行 SQL 注入mysql_real_escape_string

该怎么办?

编辑示例:

如果您传入%27) SQL INJECTION HERE %2F*搜索词查询字符串,我会在页面上输出:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“BOOLEAN MODE)”附近使用正确的语法

感谢大家在 db 类中找到问题..

0 投票
2 回答
236 浏览

php - 关于html页面中的stripslash如何隐藏...在php页面中

当我从 CMS 管理面板添加输入然后在执行此 php 方法之前添加数据..

因为我在 db 记录中有太多特殊字符,但 stripslashes 还在 php 页面上显示如何解码 stripslash 或隐藏这些。. 预先感谢。

请让我们知道 php 的任何好的功能...谢谢

谢谢

0 投票
1 回答
251 浏览

php - 如何只允许 HTML 进入我的数据库?

我试图让用户只在表单中输入 HTML,并在提交时将其存储到数据库中。我一直在尝试使用mysql_real_escape_string,但是我用 HTML 标签放入表单的 PHP 似乎没有被剥离。如何“过滤”存储在数据库中的内容?

编辑:
我想保持 HTML 原样。所以,假设用户输入

并点击提交;我希望它可以毫无问题地输入数据库,然后在以后的路上,能够出现在他们的帖子上。

我想摆脱诸如PHP标签之类的东西:

如果仍然没有任何意义,我会尽力解释得更好。

0 投票
1 回答
621 浏览

php - encodeURIComponent 和 mysql_real_escape_string

我想问你,mysql_real_escape_string()如果数据是使用函数在我的 JS 文件中编码的,是否有必要对我在 PHP ajax 文件中发送到我的数据库的数据使用 PHPencodeURIComponent()函数?谢谢

0 投票
4 回答
497 浏览

php - mysql_real_escape_string() 没有清理变量

我正在开发一个试图防止 SQL 注入的现有网站。之前$_GET['ID']没有消毒。

如果我在 url 的末尾加上一个 ',mysql_real_escape_string()我会从以下位置获得mysql_error()

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '\\' AND s1.MERCHANT_ID=me.MERCHANT_ID' 附近使用正确的语法

没有mysql_real_escape_string()我得到:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '\' AND s1.MERCHANT_ID=me.MERCHANT_ID' 附近使用正确的语法

我不确定这是怎么回事?任何帮助将不胜感激。

0 投票
6 回答
38381 浏览

php - 如何在 PHP 中使用 mysql_real_escape_string 函数

所以在我正在编写的这个程序中,我实际上使用表单从用户那里获取了一个 SQL 查询。然后我继续在我的数据库上运行该查询。

我知道不要“信任”用户输入,所以我想对输入进行清理。我正在尝试使用mysql_real_escape_string,但未能使其正常工作。

这是我正在尝试的,给定输入: select * from Actor;

这总是给我

“输入无效!”

错误。

当我取出clean_string零件并mysql_query在查询中运行时,

“输入无效”

消息不输出。相反,当我这样做时:

它不输出

“输入无效”。

但是,我需要使用该mysql_real_escape_string功能。我究竟做错了什么?

更新:

作为 select * from Actor;输入,我发现了以下内容。

使用 echo 语句,我发现在清理之前,字符串包含值: select * from Actor; 这是正确的。但是,在清理后,它的值不正确select *\r\nfrom Actor;,因此出现错误消息。为什么 mysql_real_escape_string要这样做?

0 投票
2 回答
5651 浏览

php - 使用 PHP/MYSQL 转义电子邮件中的字符

mail()当我将函数用于 PHP时,我无法弄清楚字符如何被转义的逻辑。我使用的是 PHP 5.2,magic_quotes_qpc 为 ON,runtime/sybase 为 OFF。这就是问题所在。

  1. A 有一个接受文本输入的表单,我用它mysqli_real_escape来转义特殊字符,以便在 SQL 语句中使用,如下所示:

    /li>
  2. 如果我输入以下评论“我不会吃那个!” 进入表格,我在数据库中看到以下内容 - “我不会吃那个!”,这是我所期望的。如果我添加回车/换行,我在 phpMyAdmin 的数据库字段中看到的只是回车和没有特殊字符的换行(即没有“\r\n”或类似的东西)。

  3. 当我使用该mail功能发送消息(即mail($to, $subject, $text, $headers))时,我在电子邮件正文中收到了一些奇怪的东西:

    /li>

归根结底,我只希望电子邮件输出的格式与表单输入完全相同,换句话说:

我不确定为什么在撇号之前有三次转义以及为什么 \r\n 出现在我的电子邮件中。