网站首页 > PHP职场> 文章内容

简明手册:如何在PHP应用中防止SQL注入

※发布时间:2015-7-11 16:33:02   ※发布作者:habao   ※出自何处: 

  将导致服务器被者拿下,而代码注入(包括SQL,LDAP,操作系统命令,XPath注入技术)长年保持在OWASP漏洞排名前十。

  更多人分享有关于应用安全的知识是一件极好的事。然而不幸的是,网络上流传的大部分东西(尤其是老博客文章,高搜索引擎排名)都已经过时了。虽然是无意的,但是却造成了很大的。

  在PHP应用中预处理语句过滤掉任何SQL注入的可能,无论是什么都需要先传递到$_GET变量。SQL查询语句是者无法改变的(除非你将PDO::ATTR_EMULATE_PREPARES 了,这也意味着你还没有真正使用预处理语句)

  预处理语句解决应用安全的根本问题:通过发送完全的包将操作指令与数据进行单独处理。这和导致堆栈溢出的问题有点类似了。

  只要你没有用SQL语句连接user-provided变量和变量(并且你没有使用emulated prepares),那你就不必担心交叉SQL注入的问题了。

  预处理语句确保WEB应用与数据库服务之间的交互(即使两者不在同一台机器上,也会通过TLS进行连接)。者还有可能在字段中存储一个payload,这是相当的,比如一个存储过程,我们称之为高阶SQL注入。

  在这种情况下,我们不要编写存储过程,它会制造一个高阶SQL注入点。

  应该有人看到过这张关于SQL注入的漫画吧,在一些安全会议上甚至都经常被拿来引用,尤其是写给新人的文章中。这张漫画提醒了我们要提高对数据库查询中用户输入的意识,但是漫画中的却是过滤掉数据库输入,通过对相关问题的理解,我们知道这仅仅是一个折衷的办法。

  虽然可以在数据发送到数据库之前重写传入的数据流来防止者的,但是这个过程比较难以把控。

  除非你想花时间去研究,达到完全掌握所有Unicode格式应用程序,你最好不要尝试过滤你的输入。

  此外,改变你的输入数据流可能造成数据损坏。特别是在你正在处理原始二进制文件(图片,加密信息)的时候。

  当列和表标识符作为查询语句中的一部分,你不能使用参数表示它们。如果你正在开发的这个应用需要一个动态查询结构,请使用白名单。

  白名单是一个应用程序逻辑策略,它只允许少数可信的值。相对来说,仅仅是已知的恶意输入。

  大多数情况下,使用白名单比更安全!

  =;([]) {:::.=.[];(!([])) {.=;}{.=;}:.=;}=-prepare();(-execute([[]])) {=-fetchAll(\PDO::FETCH_ASSOC); }

  开发者第一次遇到预处理语句,对于需要写大量的冗余代码而感到沮丧(提取,执行,取回;提取,执行,取回;.令人厌烦)

  由此,EasyDB[诞生了。

相关阅读
  • 没有资料
重庆学习网zslpsh,0755深圳房产人才招聘网,拾年网90后,anedc股票,最新电影下载淘娱淘乐,重庆中学生网高考,重庆中学生网高考,学习重庆方言网,重庆中学生学习方法,重庆俗语网,中学生网zslpsh,0755深圳交友网,重庆初中生,贵州重庆方言网,025新闻网,西南重庆方言歌曲,025南京交友网,重庆农家乐美女,观赏蟹种类zadull,云南重庆方言网,重庆中学学习网,028成都交友网,推广taoyutaol,西南四川方言网,观赏龟论坛zadull,四川重庆方言网,022天津交友网,重庆中学生网家长,鹦鹉鱼zadull,重庆俗语,电影淘娱淘乐,taoyutaole娱乐,华夏视讯网,0755深圳旅游招聘,昆明重庆方言网,淘娱淘乐影视,www.00game.net,观赏鱼zadul,重庆高考zslpsh,重庆中学生网高考,027房产招聘网,坝坝舞wagcw,西南重庆方言网,贵州重庆方言网,重庆言子儿网,热带鱼zadull,重庆高考zslpsh,0755深圳旅游招聘网,淘娱淘乐影视网,0571.361.cm,重庆方言学习网,028成都新闻,异形观赏鱼种类,影视网淘娱淘乐,最新电影下载淘娱淘乐,0773桂林论坛,拾年网80后动画片,观赏蟹论坛zadull,观赏龟繁殖教程,重庆一中zslpsh,重庆俗语网,广场舞wagcw,观赏虾的种类zadull,观赏鱼观赏虾观赏龟,西南方言网,观赏鱼之家论坛zadull,战争前线辅助00game,西南重庆方言小说,重庆中小学zslpsh,推广taoyutaol,战争前线论坛00game,0871交友网,025南京新闻网,重庆言子儿网站,娱乐taoyutaole,022天津交友网,025新闻网,重庆中学生网学习,022天津交友网,重庆方言歌网,www.120.cm健康网,anedc股票,重庆初中生