2010-12-03 10 views
1

PHPを使用して、以下のコードスニペットで$ _SERVER ['REQUEST_URI']、$ _POST ['email']および$ urlコードをどのようにサニタイズするのでしょうか。PHPのサニタイズに関する質問

私はPHPバージョン5.2.14を使用しています。

コードスニペット。

<form method="post" action="<?php $_SERVER['REQUEST_URI']; ?>"> 
</form> 

$email = $_POST['email']; //Grabs the email address 

$page_url = $url; //Grabs the pages url address. 
+0

あなたは、このページを見てみたいことがあります。http://php.net/manual/en/filter.filters.sanitize.php – miette

+2

ちょうど 'action'はあなたの例では、完全に属性を省略することができます。 –

+0

@Ignacio Vazquez-Abramsはなぜフィルタリングされるべきではありませんか? – HELP

答えて

2

filter_var機能を使用してください。それを検証する - あなたが入力を「サニタイズしない」んいくつかの非常に特定の場合を除き

// url 
filter_var($url, FILTER_VALIDATE_URL) 
// email 
filter_var('[email protected]', FILTER_VALIDATE_EMAIL) 
0

。 (非常に特殊な場合を除いて)データの表現を変更するのはPHPを残す場所だけです - データがどこにあるのかに応じてメソッドを設定する必要があります(例:htmlentities()、urlencode()、mysql_real_escape_string ...)。他の人が言ったようにfilter_var