过滤

PHP防SQL注入技巧
 从表单接受到$_POST[‘*’]

该信息内容可能包括  “ ‘   空格 特殊符号

      例如   “ user‘’‘’abc”

             $_POST[‘pass’] =” “” and  (select * from tbl_usr)”

防注入(攻击)

 

   在用户执行注册过程中口令内容部分使用了类似

(select insert update delete and or etc.)

eregi(“正则表达式”,“判断字符串”,$name);

      eregi($pattern ,)

      $pattern=(select|insert|update)

      Addslashes()

     \  :转义字符

1、 php

1、 register_glabals=off|on

        $_POST[‘name’]

        $name

2、 SQL语句尽量不要省略引号

3、 $_POST(GET COOKIE )过滤后在接受

4、 命名数据库

5、 尽量封装方法,避免暴露

6、 重定向

 

 

 

考虑:web项目有多少,

      过滤过程写成函数单独存成一个文件function check_form($form){

 

 

 

  get_magic_quotes_gpc(void)  获取php.ini中magic_quotes_gpc的状态

  magic_quotes_gpc=on  get_magic_quotes_gpc() 返回值为true

     magic_quotes_gpc=off  get_magic_quotes_gpc() 返回值为false

  判断当前的环境中的php.ini的magic_quotes_gpc()的状态

   if(!get_magic_quotes_gpc()){

//如果开启开关,对用户输入的变量进行addslashes()处理

//该函数被引入到的文件中表单里的input标签不确定,用循环方式

     for($i=0;$i<count($form);$i++){

    $form[$i]=addslashes($form[$i]);

 

  }

     将过滤后的纯字符串return

     纯粹的字符串要求写入数据表

    

     需要将多余一个的信息传递到函数外部;

     第一种:组成字符串

     第二种:组成数组

            }

      return $form;

}

验证码

设计表

Username  password  。。 status  md5name

Zhangsan   123456        0    

 

登录

 Name password  status=1

 

http://localhost/test.php?name=……

name=ziduan

 update    status=1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值