php防注入及开发安全详细解析

 更新时间:2013年08月09日 09:11:01   作者:  
以下是对php防注入及开发安全进行了详细的分析介绍,需要的朋友可以过来参考下

1、PHP注入的基本原理
程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据 库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的 SQL Injection,即SQL注入。 受影响的系统:对输入的参数不进行检查和过滤的系统.

SQL注入过程
正常来讲,我们通过地址接收一些必要的参数如:
页面中我们会使用 2 写入到SQL语句中
正常情况:Select * From Table where id=2

PHP100.php?id=2
如果我们对SQL语句熟悉,就知道2 我们可以替换成我们需要的SQL语句
如:and exists (select id from admin)

2、防止注入的几种办法
其实原来就是我们需要过滤一些我们常见的关键字和符合如:
Select,insert,update,delete,and,*,等等
例子:

复制代码 代码如下:

function inject_check($sql_str) {
return preg_match('/select|insert|update|delete|/'|///*|/*|/././/|/.//|union|into|load_file|outfile/i', $sql_str);      // 进行过滤
}

或者是通过系统函数间的过滤特殊符号
Addslashes(需要被过滤的内容)

3、PHP其他地方安全设置
register_globals = Off 设置为关闭状态
SQL语句书写时尽量不要省略小引号和单引号

复制代码 代码如下:

Select * From Table Where id=2 (不规范)
Select * From ·Table· Where ·id·='2' (规范)

提高数据库命名技巧,对于一些重要的字段可根据程序特点命名
对于常用方法加以封装,避免直接暴露SQL语句

正确的使用 $_POST $_GET $_SESSION 等接受参数,并加以过滤

相关文章

  • php操作zip在不解压缩包的情况下显示压缩包中的图片

    php操作zip在不解压缩包的情况下显示压缩包中的图片

    本文简单介绍了PHP操作ZIP压缩包时需要在不解压的情况下如何直接显示其中的图片或文件,方法很简单主要利用了PHP中的Zip File 系列函数,base64_encode函数,希望对大家能有所启发
    2017-11-11
  • PHP云打印类完整示例

    PHP云打印类完整示例

    这篇文章主要介绍了PHP云打印类,结合完整实例形式分析了php实现网络打印数据的搜集与队列排序整理及数据打印等功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • PHP中的函数嵌套层数限制分析

    PHP中的函数嵌套层数限制分析

    PHP本身的函数嵌套是没有限制的,如果说有限制,也是内存的限制。这是因为PHP的函数嵌套是以栈的形式实现的。对于每个函数都会分配一段内存来存储函数局部的内容。
    2011-06-06
  • PHP实现创建微信自定义菜单的方法示例

    PHP实现创建微信自定义菜单的方法示例

    这篇文章主要介绍了PHP实现创建微信自定义菜单的方法,结合实例形式分析了php创建微信自定义菜单的原理、步骤与具体实现技巧,需要的朋友可以参考下
    2017-07-07
  • php事务处理实例详解

    php事务处理实例详解

    这篇文章主要介绍了php事务处理实例详解,需要的朋友可以参考下
    2014-07-07
  • mysql 搜索之简单应用

    mysql 搜索之简单应用

    mysql 搜索之简单应用...
    2007-04-04
  • PHP使用ffmpeg给视频增加字幕显示的方法

    PHP使用ffmpeg给视频增加字幕显示的方法

    这篇文章主要介绍了PHP使用ffmpeg给视频增加字幕显示的方法,实例分析了php操作ffmpeg给视频增加字母的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 浅析PHP开发规范

    浅析PHP开发规范

    本篇文章是小编为大家整理的关于PHP开发规范的相关内容,适合PHP初学者,一起参考下吧。
    2018-02-02
  • PHP-FPM实现性能优化

    PHP-FPM实现性能优化

    本文给大家介绍的是通过php-fpm实现性能优化的配置方法以及注意事项,有需要的小伙伴可以参考下
    2016-03-03
  • 腾讯微博提示missing parameter errorcode 102 错误的解决方法

    腾讯微博提示missing parameter errorcode 102 错误的解决方法

    这篇文章主要介绍了腾讯微博提示missing parameter errorcode 102 错误的解决方法,是针对腾讯微博接口开发中比较典型的错误问题,需要的朋友可以参考下
    2014-12-12

最新评论