phpファイルのアップロードタイプを判断し、不安全なデータをフィルタリングする方法
1336 ワード
この例では、phpがファイルのアップロードタイプを判断し、不安全なデータをフィルタリングする方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.
画像ファイル以外のファイルのアップロードを禁止し、ファイル拡張子を取得してタイプを判断しないでください.これは最も安全ではありません.FIlES['form']['type'].
これはファイルの内容を読み取ってファイルのタイプを識別することができますが、識別できるのは限られていますが、画像で十分理解すればいいです.関数、安全でない文字をフィルタします.インスタンス関数コードは次のとおりです.
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.
画像ファイル以外のファイルのアップロードを禁止し、ファイル拡張子を取得してタイプを判断しないでください.これは最も安全ではありません.FIlES['form']['type'].
これはファイルの内容を読み取ってファイルのタイプを識別することができますが、識別できるのは限られていますが、画像で十分理解すればいいです.関数、安全でない文字をフィルタします.インスタンス関数コードは次のとおりです.
function s_addslashes($string, $force = 0) {
if(!get_magic_quotes_gpc()) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = s_addslashes($val, $force);
}
} else {
$string=str_replace("","& # x",$string); //
//
$string = addslashes($string);
}
}
return $string;
}
// :
$_COOKIE = c_addslashes($_COOKIE);
$_POST = c_addslashes($_POST);
$_GET = c_addslashes($_GET);
//
if($_FILES){
foreach( $_FILES as $key => $_value )
{
$_FILES[$key]['type'] =$_value['type'];
}
if(substr($_FILES[$key]['type'],0,6) !='image/')
{
exit;
}
}
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.