2017-03-19 3 views
1

私はこれを探知し、また、Stackoverflowでここで答えを探しました。しかし、実際にチェックボックスの値をどのようにサニタイズするかについて明確な答えはありませんでした。チェックボックスのサニタイズ方法は?

私は私の入力があればということを理解:

<input type="checkbox" value="submit_doors"> 

誰かが自分のdevのツール内の値を置き換えることができることを - と、この情報がサーバーに送信されます。

チェックボックス/ラジオ入力の消毒方法はどうすればよいですか?値を(int)でチェックする必要がありますか?他のすべての入力/選択フィールドと同じように値をサニタイズする必要がありますか?レコードの

は、私はWordPressを使用して、私のサイトを開発していて、例えばテキスト入力をサニタイズするために私はこれをやっている:

$turbo = trim(sanitize_text_field(wp_kses($_POST['submit_induction_turbo'], $allowed_html))); 

私もチェックボックスの上にすべてのこれらのチェックを実行するべきか?それとも、この過剰なのですか?

答えて

0

まず、$ _POST変数からアクセスできるように、入力フィールドに名前を付ける必要があります。

次の入力フィールドがあり、それをサニタイズするとします。

<input type="checkbox" name="door" value="submit_doors"> 

この機能を使用して任意のチェックボックスをサニタイズできます。例えば

/** 
* Sanitize checkbox 
* @param int | string $input the input value to be sanitized 
* @param int | string $expected_value The expected value 
* @return int | string it returns the sanitize value of the checkbox. 
*/ 
function prefix_sanitize_checkbox($input, $expected_value=1) { 
    if ($expected_value == $input) { 
     return $expected_value; 
    } else { 
     return ''; 
    } 
} 

:あなたは、ユーザーがチェックボックスの値が「submit_doors」を提出するかどうかを確認したい場合は、このような機能を使用することができます。

このように、この機能は柔軟性があります。第2引数に渡された場合、真の偽の値と1と他の文字列の値をサニタイズすることができます。

関連する問題