• 技术文章 >后端开发 >php教程

    php用户提交的数据

    伊谢尔伦伊谢尔伦2016-11-22 10:41:21原创602
    很多 PHP 程序所存在的重大弱点并不是 PHP 语言本身的问题,而是编程者的安全意识不高而导致的。因此,必须时时注意每一段代码可能存在的问题,去发现非正确数据提交时可能造成的影响。

    Example #1 危险的变量用法

    <?php
        // 从用户目录中删除一个文件,或者……能删除更多的东西?
        unlink ($evil_var);
       // 记录用户的登陆,或者……能否在 /etc/passwd 添加数据?
       fwrite ($fp, $evil_var);
        // 执行一些普通的命令,或者……可以执行 rm -rf * ?
        system ($evil_var);
        exec ($evil_var);
    ?>

    必须时常留意你的代码,以确保每一个从客户端提交的变量都经过适当的检查,然后问自己以下一些问题:

    此脚本是否只能影响所预期的文件?

    非正常的数据被提交后能否产生作用?

    此脚本能用于计划外的用途吗?

    此脚本能否和其它脚本结合起来做坏事?

    是否所有的事务都被充分记录了?

    在写代码的时候问自己这些问题,否则以后可能要为了增加安全性而重写代码了。注意了这些问题的话,也许还不完全能保证系统的安全,但是至少可以提高安全性。

    还可以考虑关闭 register_globals,magic_quotes 或者其它使编程更方便但会使某个变量的合法性,来源和其值被搞乱的设置。在开发时,可以使用 error_reporting(E_ALL) 模式帮助检查变量使用前是否有被检查或被初始化,这样就可以防止某些非正常的数据的挠乱了。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php提交数据
    上一篇:php数据的存储与检索 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊php百万数据怎么写入csv• 浅析PHP中的类自动加载相关文件• 系统讲解PHP缓存技术• 一文理解和实现现代PHP框架里的IOC容器• 深入了解PHP:用gdb调试源码
    1/1

    PHP中文网