请教:Mysql用户只赋select,insert,update,delete权限,还会不会被注入

fengyqf 2009-10-14 03:35:36
Mysql数据库,php连接用户只赋select,insert,update,delete权限,其它一概不给,还会不会被SQL攻击注入?如果会,是怎么实现的,用有什么样防止方法?
不要加入一个文件,对每个http传值,用过滤如drop,alter等 SQL关键词的方式,这样一些技术文章就无法写入数据库了。
最好是对每个变量过滤引号,斜杠(php函数:mysql_escape_string),关键是有时可能忘记过滤。所以想知道只给基本权限,是否可注入?
...全文
419 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyqf 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 abest 的回复:]
注入并不是因为mysql权限,大多数情况是因为没有过滤sql语句

规范你的sql语句就是一个很好的方法。还有过滤和限制一些外部参数
[/Quote]
很多开源程序暴出漏洞,因为忘记变量过滤造成的,这种例子还是不少的吧,我们要做的是了解安全隐患,多方位的防范
fengyqf 2009-10-15
  • 打赏
  • 举报
回复
感谢大家热心帮助,对于要参与数据库操作的字符串,变量是要过滤的,这是不容质疑的。
我这里所说的是做最坏的打算,在忘记了过滤变量时,做一点安全设置,也是最后的一道安全门槛。
kyzy_yy_pm 2009-10-14
  • 打赏
  • 举报
回复
不过滤,还是不行的
babysc1 2009-10-14
  • 打赏
  • 举报
回复
不过滤怎么行 规范很重要 好习惯要养成
tryc 2009-10-14
  • 打赏
  • 举报
回复
我都用mysql_real_escape_string();不知道管不管用
「已注销」 2009-10-14
  • 打赏
  • 举报
回复
有兴趣可以看看get数据,它和post是有点区别的,会有一次自动转换的过程
「已注销」 2009-10-14
  • 打赏
  • 举报
回复
sql注入是很好防的,关键是你的程序编写习惯,养成了就没啥问题。

输入数据主要来自于 post,get,cookie,对于这些数据php配置中会有一个自动加反斜线的设置,打开它。

这样第一步就没问题了

剩下的是利用urlencode字符跳过这个自动过滤的注入,对于这一类,你要在urldecode之后对其进行加反斜线处理。也就是保证在这些输入数据做任何编码转换后保证它做且进做过一次反斜线处理,这样既能保证还原数据又能保证不被注入。

就这些
foolbirdflyfirst 2009-10-14
  • 打赏
  • 举报
回复
每次程序接收用户的输入数据,都要有意识的进行过滤,怎么能有忘了过滤这种事情.
应该网 2009-10-14
  • 打赏
  • 举报
回复
注入并不是因为mysql权限,大多数情况是因为没有过滤sql语句

规范你的sql语句就是一个很好的方法。还有过滤和限制一些外部参数

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧