首页 > 解决方案 > 当表单字段包含“和 1”时,PHP POST 403 错误被禁止

问题描述

我有一个非常奇怪的错误。我正在使用下面的查询执行数据插入。

除非在表单字段中输入短语(不带双引号)“and 1”,否则输入到表单中的每个输入都可以正常工作。我试过“and 56”,“and 42”都失败了。输入“andd 10”可以正常工作。

任何时候都会出现 403 错误,然后输入一个数字。不管它是在句子的开头、中间还是结尾。我正在连接到 Azure 中的 SQL 数据库。导致问题的变量是 $value。所有浏览器都会出现此问题。

    $cleanInput = htmlentities($value, ENT_COMPAT, 'UTF-8');
    $value = htmlentities( $cleanInput, ENT_COMPAT, 'UTF-8');   

    $query = "INSERT INTO [researchdb].[dbo].[tbl_Research_Intake_Admin_Forms_Input_Data] ";    
    $query .="(form_token,input_id,input_data,data_submission_num, input_sort_order) ";
    $query .="VALUES(?,?,CAST(? as as nvarchar(max)),?,?) ";

    $stmt = odbc_prepare($conn, $query);
    $success = odbc_execute($stmt, array($frmToken,$inputId,$value,$submissionNumber, $inputSortOrder));

标签: phpazurehttp-status-code-403

解决方案


推荐阅读