• 安全、防注入 杂记


    背景、概述
      早在Sql注入横行的前几年,字符串转化为整数就已经被列为每个web程序必备的操作了。web程序将get或post来的id、整数等值强制经过转化函数转化为整数,过滤掉危险字符,尽可能降低系统本身被Sql注入的可能性。
      现如今,虽然Sql注入已经逐渐淡出历史舞台,但是,为了保证web程序的正常运行,减少出错概率,更好的保证用的满意度,我们同样需要将用户的不正确输入转化为我们所需要的。

    一:接收的参数为整型时,要做强制转化为整型处理

         ①强制类型转换方式   

            强制类型转换方式,就是“在要转换的变量之前加上用括号括起来的目标类型”

    <?php
    $foo = "1"; // $foo 是字符串类型
    $bar = (int)$foo; // $bar 是整型
    ?> 

      ②内置函数方式   

        内置函数方式,就是使用PHP的内置函数intval进行变量的转换操作。

    <?php
    $foo = "1"; // $foo 是字符串类型
    $bar = intval($foo); // $bar 是整型
    ?> 

         如果参数是浮点型,可以使用floatval — 获取变量的浮点值

    <?php
    $var = '122.34343The';
    $float_value_of_var = floatval ($var);
    print $float_value_of_var; // 打印出 122.34343
    ?>

    二:接收的参数为字符串时,要剥去字符串中的 HTML、XML 以及 PHP 标签

      ①内置函数方式   

        内置函数方式,就是使用PHP的内置函数strip_tags进行变量的转换操作。

    <?php
    $foo = "Hello <b>world!</b>"; // $foo 是字符串类型,含有html标签
    $bar = strip_tags($foo); // $bar 是剥去字符串中的 HTML、XML 以及 PHP 标签的字符串
    ?> 
  • 相关阅读:
    EXE、DLL和OCX文件的最佳压缩工具ASPack
    mysql忘记帐号密码 解决办法。
    vs2010 C++ 静态编译(解决:程序在别人的机子运行不了,缺少mfc100.dll, xxx100d.dll等的解决方法)
    去掉word每个标题前都有个小黑点 附word2003与2007方法
    struts2 中jsp页面replace的使用
    struts2 改变portlet windowState
    .net 知识补充 注意点
    广义表(1)
    字符串匹配(kmp)
    二叉排序树
  • 原文地址:https://www.cnblogs.com/wangyuman26/p/5594144.html
Copyright © 2020-2023  润新知