4

ユーザーがWordPressブログのフロントエンドからプロフィール写真をアップロードできるようにしたいと思います。私は同じために私を助けることができるプラグイン「adlocalavatar」を見つけました(私は今までそれを試していませんでした)。

しかし、ユーザーが非常に大きなサイズのファイルやウイルスに感染したファイルをアップロードするとどうなるか心配です。WordPress(またはPHP)で次のことを行うにはどうすればよいですか?

  1. サーバーに保存する前にファイルサイズを確認してください。(アップロード中のファイルサイズの確認)
  2. ファイルの内容をスキャンする
4

1 に答える 1

8
  1. サーバーに保存する前にファイルサイズを確認してください。(アップロード中のファイルサイズの確認)

最大ファイルサイズは、POSTリクエストをデコードするときにPHPによってチェックされています。php.iniで。を使用して設定されupload_max_filesizeます。通常は約10MB程度です。

ただし、簡単なテストでアプリケーション固有の最大ファイルサイズを簡単に設定できます。

if ($_FILES["image"]["size"] >= 500000) {

次に、それに応じて反応し、エラーメッセージを出力します。プロフィール画像やアバターには500Kで十分です。

  1. ファイルの内容をスキャンする

次に、サーバーにウイルススキャナーをインストールする必要があります。いろいろあります。オープンソースであるため、多くのUnix/Linuxサーバーにclamavがある可能性があります。PHPから次のように利用できます。

exec("clamscan '$filename'", $output, $result);

if ($result === 0) {
     // everything ok
}

出力ステータス$result1、ウイルスまたは2その他のエラーの場合になります。

于 2011-04-17T02:58:54.150 に答える