ブラウザから色々とアップロードすることが出来ます。
画像の投稿であれば、画像であることの確認やファイルサイズや形式のチェックなど様々なチェックを行ってからアップすると思いますが、ウィルスかどうかのチェックはアンチウィルスソフトにしてもらう必要があります。
定期的にチェックしている場合もありますが、それで手遅れになる場合もあるので、アップロードされるファイルは随時チェックを行うようにしましょう。
簡単ですがClam Antivirusを使ったアップロード時のチェックの一例を紹介します。
ClamAntivirusのインストール方法なんかはGoogle先生に聞いてください。
CentOSあたりだとRPMで簡単にインストールが可能です。
if (isuploadedfile( $FILES["upfile"]["tmpname"] ) )
{
// コマンド組み立て
$commandval = "clamscan " . $FILES["upfile"]["tmpname"];
system( $commandval, $return );
if( $return == "0" )
{
if (moveuploadedfile( $FILES["upfile"]["tmpname"], "sample/" . $FILES["upfile"]["name"]) )
{
chmod("sample/" . $FILES["upfile"]["name"], 0644);
echo "アップロード完了";
} else {
echo "アップロードできませんしたっ!";
}
}
else
{
echo "ウィルスでした";
}
} else {
echo "ファイル選択してなくない?";
}
1.アップロードされたらテンポラリ(/tmpなど)に一旦保存
2.ちゃんとアップロードされたら、テンポラリから指定の場所へ移動
正常ファイル:Infected files: 0
ウィルス判定:Infected files: 1
関連記事