相关疑难解决方法(0)

mysql_real_escape_string()做了什么,addslashes()没有?

为什么我们需要特定于数据库的函数,如mysql_real_escape_string()?它能做什么,addslashes()不是吗?

暂时忽略参数化查询的优越替代方案,是一个使用addslashes()的webapp,它仍然容易受到SQL注入的攻击,如果是,如何?

php security sql-injection

20
推荐指数
4
解决办法
1万
查看次数

MySQL Escape反斜杠

我有一系列正则表达式,包括我需要存储在mysql表中的转义字符.

如果我没有逃避反斜杠,就会被淘汰.

我尝试使用mysql_real_escape_string,addslashes,str_replace以及每次数据库存储双反斜杠而不是单个反斜杠时,在PHP中转义反斜杠.

我也尝试在bash中使用sed来逃避反斜杠,但它也打印2.

例:

$regex = "stackoverflow\.com\/questions\/ask";
$query_text = addslashes($regex);
$query = "INSERT INTO my_table (url) VALUES ('$query_text')";
Run Code Online (Sandbox Code Playgroud)
me@server:$ echo "select * from my_table" | mysql -uuser -Ddatabase -p'password'

stackoverflow\\.com\\/questions\\ask
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何想法?

php mysql bash escaping backslash

2
推荐指数
1
解决办法
4435
查看次数

标签 统计

php ×2

backslash ×1

bash ×1

escaping ×1

mysql ×1

security ×1

sql-injection ×1