相关疑难解决方法(0)

mysql_real_escape_string VS addslashes

有人可以从PHP手册中了解这两个函数之间的差异

addslashes:在需要在数据库查询中引用的字符之前返回带反斜杠的字符串.这些字符是单引号('),双引号("),反斜杠()和NUL(NULL字节).

mysql_real_escape_string:mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,它将反斜杠添加到以下字符:\ x00,\n,\ r,\,',"和\ x1a.

从我收集到的主要区别是\ x00,\n\r\x1a,其中addlashes无法逃脱,你能告诉我这是什么意义吗?

谢谢

php mysql

40
推荐指数
2
解决办法
4万
查看次数

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

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

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

php security sql-injection

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

为什么要使用mysql_real_escape_string,不会addlashes阻止一切?

我正在查看文档并偶然发现mysql_real_escape_string(),我不明白为什么它只是在addslashes()时才有用.有人能告诉我一个有用的原因吗?

我也很好奇它为什么需要数据库连接....这似乎是很多开销.

php security

3
推荐指数
1
解决办法
749
查看次数

注释系统:安全插入数据库和从数据库读取

可能重复:
如何防止SQL注入?

我正在我的网站上建立一个评论系统,我想知道这是否保存.我使用PHP和MySQL. - 不要使用下面的代码,这是非常不安全的 -

创建新评论:

  1. 用户写入$ comment,提交它
  2. $ comment = addslashes($ comment);
  3. 在MySQL数据库中插入$ comment

阅读评论:

  1. 用户请求评论,数据库发送$评论
  2. $ comment = htmlspecialchars(stripslashes($ comment));
  3. echo $ comment;

系统应该安全,不受HTML操作和MySQL注入的影响.还有我不知道的所有其他讨厌的东西.我做得对吗?

奖金问题:我应该在我的MySQL表格中使用什么排序规则进行$注释?

编辑:哇我不认为我的问题会导致这个大讨论.谢谢你的所有答案:)

php mysql security comments system

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

标签 统计

php ×4

security ×3

mysql ×2

comments ×1

sql-injection ×1

system ×1