xarg.orgのjQuery webcamプラグインを使用しています。このプラグインは、フラッシュアプリケーションのおかげでユーザーのウェブカメラを使用してスナップをとることができます。HTTP_RAW_POST_DATAの入力検証
スナップを撮ると、画像はHTTP_RAW_POST_DATAで画像を保存するためのPHPスクリプトに送られます。著者は、このスクリプトを提案:
<?php
$str = file_get_contents("php://input");
file_put_contents("/tmp/upload.jpg", pack("H*", $str));
?>
私の問題は、私はHTTP_RAW_POST_DATAからデータをテストする方法がわからない、入力検証です。
私は、以前のスクリプトの後、このテストを追加します。
$imageOK=true;
$imagesize = getimagesize("views/img/order.jpg");
if(@is_array($imagesize)){
if($imagesize[mime]!="" && $imagesize[mime]=="image/jpeg"){
$imageOK=true;
}
else {
$imageOK=false;
}
} else {
$imageOK=false;
}
if(!$imageOK)
unlink("views/img/order.jpg");
あなたはそれが安全であると思いますか?そうでない場合は、どのようなテストをすることができますか?
おかげ
サイドノート - 私は() '今まであなたが'と沈黙する必要が警告をトリガする 'IS_ARRAYはないと思います@' 。しかし、 'mime'は通知を投げる未定義の定数です。私はあなたのPHP開発ボックスでエラー報告の設定を確認することをお勧めします。 –