草庐IT

escape-hatch

全部标签

php - 如何在 PDO 中使用/编写 mysql_real_escape_string?

这个问题在这里已经有了答案:RealescapestringandPDO[duplicate](3个答案)关闭9年前。在我的代码中,我试图将mysql_real_escape_string转换为PDO语句。有人知道如何在PDO中编写mysql_real_escape_string吗?我在两行中使用mysql_real_escape_string:$userName=mysql_real_escape_string($_POST['用户名']);$password=sha1(mysql_real_escape_string($_POST['password']));user:".$use

php - 如何在 Yii 框架中使用 mysql_escape_string()?

众所周知,我们不能在Yii等框架中使用原始MySQL查询。我想在我在Yii框架中运行的项目中使用mysql_escape_string来避免用户输入中的SQL注入(inject)。我知道mysql_escape_string在PHP5.5中已弃用,我有一个PDO替代方案。Yii框架中的替代方案以及mysql_escape_string()的PDO方式是什么? 最佳答案 PDO中mysql_escape_string的替代方法是使用准备好的语句。例如在Yii中:$user=Yii::app()->db->createCommand()

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

所以在我编写的这个程序中,我实际上使用表单从用户那里获取了一个SQL查询。然后我继续在我的数据库上运行该查询。我知道不能“信任”用户输入,所以我想对输入进行清理。我正在尝试使用mysql_real_escape_string但未能成功。这是我正在尝试的,给定输入:从Actor中选择*;//"query"istheinputstring:$clean_string=mysql_real_escape_string($query,$db_connection);$rs=mysql_query($clean_string,$db_connection);if(!$rs){echo"Inval

php - PHP的addslashes和mysql(i)_escape_string有什么区别?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:mysql_real_escape_stringVSaddslashes如果他们做的不完全一样,那有什么区别?MySQL查询中值的分隔符是'不是吗?或者可能是"但这也用addslashes转义了。在我理解的其他数据库引擎中(并且肯定在像PDO这样的数据库包装器中),但为什么这么多人如此坚持使用mysql(i)_escape_string而不是addslashes?

php - 关于 mysql_real_escape_string 和 strip_slashes 的混淆

我让用户输入他们的名字,如:O'riley。在将此数据输入MySQL数据库之前,我运行mysql_real_escape_string。问题是,当我随后选择此数据进行显示并稍后使用时,结果显示为:O\'riley。显然,这是预期的操作。我想知道的是,是否有某种方法可以确保我可以将它存储在数据库中(仍然安全地转义可能的恶意代码),这样我就不必在输出上使用strip_slashes()每次我在整个网络应用程序中调用数据?或者,我在这里遗漏了什么吗?谢谢。更新请引用Deceze回答中的评论。 最佳答案 不,将字符串存储为“O\'riley

mysql_escape_string() 函数已弃用 使用 mysql_real_escape_string() Codeigniter

我在服务器上运行的codeigniter中运行一个网络应用程序。这里我有一个用户注册表单,它在本地主机上运行良好。但是当涉及到服务器时,当我尝试注册用户时,我的页面显示错误:mysql_escape_string()函数已弃用,在mysql/mysql_driver中使用mysql_real_escape_string()我尝试更改我的mysql_driver页面,但更改后一切都变成空白。谁能帮我解决这个错误? 最佳答案 如果您使用的是PHP5.4,则函数mysql_escape_string()已弃用。因此您需要对mysql驱动程

PHP/MySQL 形式 : escaping, sanitizer ,散列......我什至从哪里开始?

我通常在自己查找信息方面非常机智,但是当涉及到这个主题时,它真的令人生畏,那里有大量的东西。我有点信息过载。我找到了数十篇关于个别安全主题的文章,但我无法了解大局以及它们在实践中是如何结合在一起的。我需要看到一个鸟瞰路线图。以这个假设的例子为例:ASimpleHypothetical"Comments"Section:Signup:createapassword/usernamecombothatistobestoredsafelyinaMySQLtable.Login.Leaveacomment.在这个最基本的案例中遵循的“安全路线图”是什么?地球上的每个教程和PHP书籍都使用MyS

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

我正在转义从这样的php表单接收到的所有字符串参数:$usr_name=mysql_real_escape_string($_REQUEST['usr_name']);避免SQL注入(inject)的一些问题。但是当我从函数中返回字符串时,我最终什么都没有。我的PHP日志中也不断收到这个奇怪的警告:PHPWarning:mysql_real_escape_string()[function.mysql-real-escape-string]:Alinktotheservercouldnotbeestablishedin/hermes/bosweb/web279/b2798/ipw.ba

php - mysqli_real_escape_string 如何无法防止 SQL 注入(inject)?

这个问题在这里已经有了答案:SQLinjectionthatgetsaroundmysql_real_escape_string()(4个答案)关闭9年前。首先,我知道人们想要使用存储过程以便他们重用查询并处理转义。然而,我看到很多开发者说mysqli_real_escape_string不能100%防止SQL注入(inject)。有人可以提供这方面的例子吗?根据我对这个主题的有限了解,我会说mysqli_real_escape_string对于字符串总是没问题,但对于数值你可能会被抓到,除非你检查数字是一个int、float、double等。编辑:我忘了添加一些关键的东西:假设字符集

JavaScript使用escape()、encodeURI()和decodeURI()实现URI编码解码

这篇文章介绍了JavaScript使用escape()、encodeURI()和decodeURI()实现URI编码解码的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下目录一、URI编码解码1、编解码一个字符串(淘汰)2、编解码一个URI3、编解码一个URI组件二、html编码解码1、html编码解码函数2、用浏览器内部转换器实现一、URI编码解码1、编解码一个字符串(淘汰)ECMAScriptv3反对使用该方法,应使用decodeURI()和decodeURIComponent()替代它。1、escape():编码一个字符串escape(