免费发布

教大家在写php代码的时候怎么防止被黑被注入

  • 时间:2021-01-22 09:38:59
  • PHP
  • 浏览量:0
  • 发布会员:小狐狸
  • 举报
  • 现在网站后端语言一般人都会选择php,可能介于php的集成环境比较好安装,所以被广大开发者所喜爱,一些小白在写代码时只顾着快速把代码调试通过,缺忘记了最大的安全隐患“防注入”。


    仔细分析两点可注入:

    1. 网站的url地址

    2. 数据库的暴露


    在网站传参不管是POST还是GET,都必须做好防护,在接收参数的时候如果传递的是id类型比如xxx.php?id=1这种,在接收的时候务必要做好过滤,如intval(_GET['id']);


    intval是整数型,也就是只能传递数字,且不能是0。

    那么问题来了,传递文章内容标题一类的如何办,那么我们必须向办法过滤掉其中的特殊字符如<>等,我们可以自己写一个全局的代码,然后把所有接收参数的GET或者POST都防护好,下面就演示一下:


    $a = str(_GET['a']);

    $b = str(_GET['b']);

    $c = str(_GET['c']);


    大家可以看到str就是你要定义的全局function,你可以把这个function放在全局的public文件中。


    function str($string) {

        $string = str_replace('%20', '', $string);

        $string = str_replace('%20', '', $string);

        $string = str_replace('%27', '', $string);

        $string = str_replace('%2527', '', $string);

        $string = str_replace('*', '', $string);

        $string = str_replace('"', '&quot;', $string);

        $string = str_replace("'", '', $string);

        $string = str_replace('"', '', $string);

        $string = str_replace(';', '', $string);

        $string = str_replace('<', '&lt;', $string);

        $string = str_replace('>', '&gt;', $string);

        $string = str_replace("{", '', $string);

        $string = str_replace('}', '', $string);

        return $string;

    }


    好了,这篇文章就写到这里了。如果对你有帮助请记得收藏本站哦,原创文章严禁转载。


    提示:喜欢这个作品给它点个红心和关注吧
    小狐狸