zoukankan      html  css  js  c++  java
  • php安全

    一、安全威胁

    机密数据的泄漏
    数据丢失和数据损坏
    数据修改
    拒绝服务 dos
    软件错误
    否认

    二、web安全的应用
    处理安全性问题的策略
    识别所面临的威胁
    了解与我们打交道的用户
    代码的安全性
    web服务器和php的安全性
    数据库服务器的安全性
    保护网络
    计算机和操作系统的安全性
    灾难计划

    a.识别所面临的威胁
    访问或修改敏感数据
    数据丢失或破坏
    拒绝服务
    恶意代码注入

    一、安全和加密

    很多安全问题都是由于轻信了第三方提供的数据造成的。比如对于输入数据,在对其进行
    验证之前都应该将其视为嫌疑数据。
    如果是把嫌疑数据发送给用户浏览器,就可能导致跨站点脚本(XSS)问题。
    如果把嫌疑数据用于SQL查询,那么有可能会造成SQL注射问题。

    二、过滤
    在使用第三方提供的数据,包括你的用户提供的数据时,首先检验其合法性非常重要。这个过
    程叫过滤

    加密的本质就是扰乱数据。


    三、预防Session定置


    方案:
    只要用户的授权范围改变,如成功登录后,就通过session_regenerate_id()来重
    新生成session标识符:
    <?php
    session_regenerate_id();
    $_SESSION['logged_in']=true;
    ?>
    四、过滤输入

    你需要确保在使用所用输入数据之前先进行过滤。
    方案:
    初始化一个空数组用于保存过滤后的数据。在验证输入有效后,将输入保存到这
    个数组中。

    五、避免跨站点脚本

    安全地消除跨站点脚本(XSS)对你的PHP应用程序的攻击。
    方案:
    通过htmlentities()对所有HTML输出进行转义,并保证指明正确的字符编码:
    六、避免SQL注入

    七、将密码置于站点文件外部

    第一章 如何写一个安全的表单

      1.声明一个安全数组

      2.过滤和判断

      3.删除多余的键值

      4.更新

    代码DEMO:   

      if(isset($_POST['dosubmit'])) {
        $info = array();
        $info = checkuserinfo($_POST['info']);

        if(isset($info['password']) && !empty($info['password']))
          {
        $this->op->edit_password($info['userid'], $info['password']);
         }
        $userid = $info['userid'];

        //删除多余键值
        $admin_fields = array('username', 'email', 'roleid','realname');
        foreach ($info as $k=>$value) {
        if (!in_array($k, $admin_fields)){
        unset($info[$k]);
        }
        }
        //更新
      $this->db->update($info,array('userid'=>$userid));

      showmessage(L('operation_success'),'','','edit');

    }

     http://os.51cto.com/art/201204/328938.htm

  • 相关阅读:
    利用 .NET Framework 命令行工具
    和AI机器人Alice的一段聊天记录
    WINDOWS自启动程序的10大隐身之所
    开放式开发/开源项目TimeDog[C#WindowsApp]
    Microsoft月度中文速递
    新安装的VS2003出现了一个问题不能新建项目!
    实例构造器和类型构造器的一些比较
    C++ 模板里面的typename
    vim 折叠的用法
    Redis3:持久化
  • 原文地址:https://www.cnblogs.com/suihui/p/2562835.html
Copyright © 2011-2022 走看看