ホームページ > バックエンド開発 > PHPチュートリアル > PHP で GET または POST パラメーターをフィルターするにはどうすればよいですか?コードが挿入されないようにする方法

PHP で GET または POST パラメーターをフィルターするにはどうすればよいですか?コードが挿入されないようにする方法

WBOY
リリース: 2016-06-13 12:55:22
オリジナル
1488 人が閲覧しました

PHP で GET または POST パラメーターをフィルターするにはどうすればよいですか?コードが挿入されないようにするにはどうすればよいでしょうか?
PHP で GET または POST パラメーターをフィルターするにはどうすればよいですか? js インジェクション、または html インジェクションを防止しますか?コードリファレンスを提供していただけますか?ありがとう!


-----解決策--------------------------------
魔法変換関連のものを直接確認バー

そのようなことを学ぶために WordPress に行く必要はありません。それでも、WordPress に行かなければなりません
-----解決策----------。 ------- ---
<br />
<br />
if (!get_magic_quotes_gpc())//如果没有开启的话<br />
{<br />
    /****需要对这几个数组,遍历,注意数组多维的情况,addslashes($str)就可以<br />
    $_GET<br />
    $_POST<br />
    $_COOKIE<br />
    $_REQUEST<br />
    ****/<br />
}<br />
<br />
ログイン後にコピー

------解決策------ --
WordPress の利点を見てください。 addslashs ではすべての状況を防ぐことはできません。
------解決策-----------
addslashes は基本的にすべての SQL インジェクションを防ぐことができます。
JS インジェクションを防ぐには、
を置き換えるだけです。 >数値が渡される場合はceil($_get['okid'])を使えば回避できるはずです。
------解決策---------

js をフィルターするには、変数の内容の <> を置き換えるだけです。ここに書く必要はありません
<br />
if (!get_magic_quotes_gpc()) {<br />
	!empty($_POST)	 && Add_S($_POST);<br />
	!empty($_GET)	 && Add_S($_GET);<br />
	!empty($_COOKIE) && Add_S($_COOKIE);<br />
	!empty($_SESSION) && Add_S($_SESSION);<br />
}<br />
!empty($_FILES) && Add_S($_FILES);<br />
<br />
function Add_S(&$array){<br />
	if (is_array($array)) {<br />
		foreach ($array as $key => $value) {<br />
			if (!is_array($value)) {<br />
				$array[$key] = addslashes($value);<br />
			} else {<br />
				Add_S($array[$key]);<br />
			}<br />
		}<br />
	}<br />
}<br />
ログイン後にコピー

-----解決策---------

<?php<br />
if (!get_magic_quotes_gpc()){<br />
	foreach($_POST as $key => $value){<br />
		$_POST[$key] = addslashes($val);<br />
	}<br />
	foreach($_GET as $key => $value){<br />
		$_GET[$key] = addslashes($val);<br />
	}<br />
}<br />
?>
ログイン後にコピー
------解決策----------------------

$str = "Is your name O'reilly?";<br />
<br />
// 输出:Is your name O\'reilly?<br />
echo addslashes($str);
ログイン後にコピー
--- - --解決策------------------

// TP フレームワークのフィルター関数。
//入力クラスは TP によって提供されます。 <br>
関数 inputFilter($content)<br>
{<br>
if(is_string($content) ) {<br>
return Input::getVar($content);<br>
}<br>
elseif(is_array($content)){<br>
foreach ( $content as $key => $val ) {<br>
$content[$key] = inputFilter($val);<br>
}<br>
return $content;<br>
}<br>
elseif(is_object($content)) {<br>
$vars = get_object_vars($content);<br>
foreach($vars as $key=>$val) {<br>
$content->$key = inputFilter($val); <br><br>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート