POST参数中的非法字符

时间:2017-03-05 00:26:41

标签: php html http-post

POST方法发送的值中是否有任何非法字符?

我知道很多字符在GET参数中都是非法的,例如&,=,因为它们被用作分隔符等。 与POST方法发送的参数相同,例如通过以下表格?

<form action="index.php" method="POST">
<input type="text" name="parameter1">
<input type="submit">
</form>

2 个答案:

答案 0 :(得分:0)

网络安全的第一条规则:&#34;不信任用户&#34;

两者都获得&amp;帖子用户可以在其中加入任何内容,你必须过滤用户制作的任何内容,在你的表单示例中,textfiled中的值通过post方法发送到服务器,并且不要比get方法更安全他们之间的区别文本归档值在网址中不可见。

请记住:您必须过滤帖子和广告中的所有用户输入得到。

答案 1 :(得分:0)

您可以使用此功能:

   function normtext($input,$db_link){
        $input = mysqli_real_escape_string($db_link,$input); //optional

        $illegal = array(
            '&' => '&amp;',
            '=' => '&equals;',
            '<' => '&lt;',
            '>' => '&gt;',
            "'" => '&#096;'
            //...and many more

        );
        $output = str_replace(array_keys($illegal),
            array_values($illegal), $input);

        return $output;
   }