草庐IT

Escaping

全部标签

mysql - 为什么我需要双重转义(使用 4\)来查找纯 SQL 中的反斜杠(\)?

我不明白这个MySQL行为:如果我想显示a\b,我可以只选择"a\\b"没有问题:mysql>select"a\\b";+-----+|a\b|+-----+|a\b|+-----+1rowinset(0.05sec)但是如果我想使用LIKE在表中搜索包含\的字符串,我需要对“\”进行两次转义。为什么?这是一个例子。我们准备了一张小table。createtabletest(testvarchar(255));insertintotestvalues("a\\b"),("a\\b\\c"),("abcd");mysql>select*fromtest;+-------+|test|+-

mysql - 德尔福/MySql : Problems escaping strings

N00b在这里,在转义字符串时遇到问题。我使用了QuotedStr()函数-这还不够吗?不幸的是,我试图引用的字符串相当困惑,但我会把它张贴在这里,以防有人想将它粘贴到WinMerge或KDiff3等中。我试图将整个Delphi表单存储到数据库中,而不是存储到.DFM文件中。它只有一个字段,一个TEdit编辑框。调试器将表单显示为文本'objectForm1:TScriptForm'#$D#$A'Left=0'#$D#$A'Top=0'#$D#$A'Align=alClient'#$D#$A'BorderStyle=bsNone'#$D#$A'ClientHeight=517'#$D#

php - 了解 PHP 中的输入转义

一直让我感到困惑的一件事是输入转义以及您是否受到保护免受SQL注入(inject)等攻击。假设我有一个使用HTTPPOST将数据发送到PHP文件的表单。我在输入字段中键入以下内容并提交表单:"Hello",saidJimmyO'Toole.如果您在接收此POST数据的PHP页面上打印/回显输入,结果如下:\"Hello\",saidJimmyO\'Toole.这是令人困惑的地方。如果我将这个输入字符串放入(My)SQL并执行它,它将很好地进入数据库(因为引号被转义),但这会停止SQL注入(inject)吗?如果我获取输入字符串并调用类似mysqlireal_escape_string的

python - 使用 SQLAlchemy 转义文件路径中的特殊字符

我在MySQL中存储文件名和文件路径。使用LIKE表达式从数据库中检索它们需要我转义所有允许的与MySQL特殊字符冲突的文件名字符。我很乐意简单地使用Python的string.replace()方法,但想知道是否有更标准或内置的方法来使用SQLAlchemy清理文件路径或一般处理MySQL中的文件路径。我需要解决方案与操作系统无关并且已建立。它不需要在SA中实现。我会接受任何有效的编码程序;如果做不到这一点,我需要一个包含所有需要转义的字符的列表,并明智地选择一个转义字符。 最佳答案 如果您将使用常规查询,SQLAlchemy会为

MySQL CHAR() 函数和 UTF8 输出?

+--------------------------+--------------------------------------------------------+|Variable_name|Value|+--------------------------+--------------------------------------------------------+|character_set_client|utf8||character_set_connection|utf8||character_set_database|utf8||character_set_fil

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

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

php - 我应该如何将斜线添加到仅单引号并忽略双引号?

我应该如何只为单引号添加斜线并忽略双引号?我正在使用PHP。我只想转义单引号以防止我的phpmysql查询中断。谢谢!编辑:我认为正则表达式搜索和替换将是最有帮助的。 最佳答案 好吧,我真的迟到了这篇文章,但添加这个答案希望它可以帮助解决这个问题的人。虽然@WestonC给出了一个正则表达式解决方案,但有一个php函数可以执行此操作-addcslashes(http://php.net/manual/en/function.addcslashes.php):stringaddcslashes(string$str,string$ch

mysql - 如何使用 Zend DB 做 MySQL IN 子句?

我正在尝试获取我使用ZendFramework1.11的整数数组中的行。$this->dbSelect->from($table_prefix.'product_link')->joinLeft($table_prefix.'product_link_name',$table_prefix.'product_link.product_link_name_ref_id='.$table_prefix.'product_link_name.product_link_name_id')->where('product_ref_idIN(?)',implode(',',$product_ids

php - 使用 PHP 插入数据库时​​如何转义引号

这个问题在这里已经有了答案:HowcanIpreventSQLinjectioninPHP?(27个答案)关闭去年。将包含引号的内容插入我的数据库时出现错误消息。这是我试图转义引号但没有奏效的方法:$con=mysql_connect("localhost","xxxx","xxxxx");if(!$con){die('Couldnotconnect:'.mysql_error());}mysql_select_db("test",$con);$nowdate=date('d-m-Y')$title=sprintf($_POST[title],mysql_real_escape_str

mysql - 如何使用mysql replace将所有双引号替换为单引号?

我需要使用mysql查询将所有双引号替换为单引号。我该怎么做。我的sql应该用双引号引起来。mysql="selectreplace(text,'\"',''')frommytable"抛出错误。如何转义查询中的单引号? 最佳答案 试试这个$mysql="selectreplace(text,'\"',\"'\")frommytable";那么查询就变成了selectreplace(text,'"',"'")frommytable在Mysql端。 关于mysql-如何使用mysqlrep