mysql-real-escape-string相关内容
有人告诉我,我最好使用 PDO 进行 MySQL 转义,而不是 mysql_real_escape_string. 也许我正在度过一个脑残的一天(或者可能是因为我绝对不是一个天生的程序员,而且我在 PHP 方面仍然处于新手阶段),但是已经查看了 PHP 手册并阅读了 有关 PDO 的条目,我仍然不清楚 PDO 究竟是什么以及为什么它比使用 mysql_real_escape_string 更
..
我应该使用 mysqli_real_escape_string 还是应该使用准备好的语句? 我看过一个教程,现在解释了准备好的语句,但我看到它们和 mysqli_real_escape_string 做同样的事情,但它使用了更多行 准备好的报表有什么好处吗?您认为最好的方法是什么? 解决方案 准备好的语句.因为无处逃避是一回事.实际上,逃避与任何注射都没有关系,不应该用于保护.
..
我想要一个不连接到数据库就可以像 mysql_real_escape_string 一样运行的函数,因为有时我需要在没有数据库连接的情况下进行干测试.mysql_escape_string 已被弃用,因此是不可取的.我的一些发现: http://www.gamedev.net/community/forums/topic.asp?topic_id=448909 http://w3sch
..
我在这里看到一些人说使用 mysql_real_escape_string 连接查询不会保护您(完全)免受 SQL 注入攻击. 但是,我还没有看到一个输入示例来说明mysql_real_escape_string 无法保护您免受攻击.大多数示例忘记了 mysql_query 仅限于一个查询,并且错误地使用了 mysql_real_escape_string. 我能想到的唯一例子如下:
..
我正在使用 zend 框架开发 Web 应用程序.对于选择语句,我使用了以下方式. 例如: 公共函数getData($name){$sql = "SELECT * from customer where Customer_Name = '$name'";返回 $this->objDB->getAdapter()->fetchAll($sql);} 这很好用.但是如果我将客户姓名发送为:c
..
我应该在我的 MySQL 查询中使用 mysql_real_escape_string() 函数来查询 $_SESSION 变量吗?理论上,与 $_GET 或 $_POST 变量不同,$_SESSION 变量不能被最终用户修改,对吗? 谢谢:) 解决方案 无论用户是否可以修改数据,您可能都想对其进行转义,以防您需要数据中包含会破坏 SQL (引号等). 更好的是,使用绑定参数,
..
mysql_real_escape_string 的最佳使用方式是什么,开头是这样的: $email = mysql_real_escape_string($_POST['email']);$qemail = mysql_query ("SELECT email FROM ppl WHERE email='$email'"); 或者像这样结束: $email = $_POST['email'
..
我有一个功能,用户可以通过文本字段搜索记录.输入被放入以下 SQL 查询: $db->query("Select * from users where name = '".$db->real_escape_string($posted_var)."' limit 1"); $db 是一个 mysqli 连接对象 工作完美,直到我在名称中有一个 ' .. 然后用户需要手动转义引号以使其
..
我应该什么时候使用 mysql_real_escape_string? 是否仅在我将行插入数据库时?还是只有当我有用户输入时? 谢谢 解决方案 每当您构建将针对数据库运行的查询时,您都应该使用 mysql_real_escape_string().用于构建数据库查询的任何用户输入都应通过此函数运行.这将防止 sql 注入攻击. 在这方面,用户输入是您最关心的领域.
..
我正在尝试使用表格将数据输入到MySQL中,并且为此目的还使用 mysql_real_escape_string .不幸的是我的输出有问题.它显示 \ ,或者,如果我使用 stripslashes ,那么它将删除所有斜杠. 如果我使用反斜杠\ 提交 web表单,则会得到以下输出: “使用反斜杠\\的Web表单" 看到我有两个反斜杠.但是,如果我使用 stripslashes 函数,则它
..
我对某些事情非常困惑,想知道是否有人可以解释. 在PHP中,我会验证用户输入,因此htmlentitiies会在插入数据库之前使用mysql_real_escape_string,而不是在所有内容上使用,因为我确实愿意使用正则表达式,尽管我发现它们很难使用.现在显然我将在数据进入数据库时使用mysql_real_escape_string,但不确定仅在从数据库获取数据并将其显示在网页上时
..
好的,我知道这是一个温床.我也了解这种情况取决于您用作代码的方式.我有三种情况需要解决. 我有一个表格,我们需要在此表格中允许人们发表使用逗号,波浪号等的注释和语句,但是仍然可以免受攻击. 我输入的日期是这样的:用英语输入10/13/11 mm/dd/yy,可以将其清除吗? 我如何理解如何正确使用htmlspecialchars(),htmlentities()和real_esc
..
何时才是使用mysql_real_escape_string的正确时间? 当我使用isset(mysql_escape_string($ _ GET ['param'])), 当我使用$ foo = mysql_real_escape_string($ _ GET ['bar'])时应该使用它吗? 谢谢 解决方案 在构建带有字符串文字的SQL查询时,需要调用此函数。
..
如果我打开了magic_quotes并且使用了mysql_real_escape_string,该字符串是否会被双转义?会引起问题吗? 我基于get_magic_quotes()函数假设是这样,但只是寻求确认. (P.S.提出这个问题比在我们的办公室中使用我们拥有的所有安全性对其进行测试要容易得多-我需要10-15来配置一切才能获得可用的环境) 解决方案 如果您对通过get/p
..
我正在转义从php表单中收到的所有字符串参数,如下所示: $usr_name = mysql_real_escape_string($_REQUEST['usr_name']); 以避免SQL注入的一些问题.但是,当我从函数返回字符串时,我一无所有. 我还在我的PHP日志中不断收到这个奇怪的警告: PHP Warning: mysql_real_escape_string(
..
因此,即使使用mysql_real_escape_string 清理了数据,使用%27仍可以进行SQL注入 %27) SQL INJECTION HERE %2F* 该怎么办? 使用示例进行编辑: $sql = sprintf("SELECT *, MATCH(post) AGAINST ('%s*' IN BOOLEAN MODE) AS score FROM Posts W
..
$submit=$_POST['submit']; $fullname=$_POST['fullname']; $phone=preg_replace('/[^0-9]/', '', $_POST['phone']); $phone = (int) $phone; $adress=$_POST['city'] . ' ' . $_POST['district'] . ' ' . $_POST
..
我有一个名为tags的table,它包含如下条目. ID Name Created Date 10 limit\'s 2013-06-27 05:18:35 现在,我想使用查询来搜索limit's,但无法搜索记录. 对于我尝试过的事情. 'SELECT id FROM tags AS Tag WHERE name = "%'. urlencode($a
..
下面的代码在我的本地xampp安装(Windows 7)中可以很好地工作,但是当我将其移植到Win2K8 R2服务器时,mysql_real_escape_string件不起作用.当我注释掉时,它工作正常.我很确定这与php.ini文件有关,但无法查明它是什么.也许从一开始我的代码应该写得不同. function add_asset($asset_type_ID, $org_ID, $ass
..
我只是想知道如果mysql_real_escape数据不止一次是否会有所作为? 因此,如果我先在网站的一部分中转义了数据,然后又在代码的另一部分中转义了.这会是一个问题吗?还是有所作为? 解决方案 是.您会得到多余的不必要的反斜杠.
..