0

他の Web サイトから自分のサイトに FILE をアップロードする方法はありますか?

クライアント側とサーバー側でフォームが送信された後、セミラージ ビデオ ファイルを受け取り、トークンで認証するフォームがあります。ただし、300 人が同時にファイルをアップロードする可能性があるため、クロスサイト ハッカーがファイルをアップロードしようとしても通過しないことは望ましくありません。

彼らがそれを試みても問題は、ファイルのアップロードが開始されると、メモリ リソース (そうですか?) と帯域幅を占有することです。

私が探している解決策は、ファイルが送信されている apache または iptables または php スクリプトを使用して、それが Web サイトのアップロードページからのものではないことがわかるとすぐにアップロードを許可しないようにすることです。

これは可能ですか?

4

1 に答える 1

1

解決策は、フォームトークンを使用して、フォームがサーバー経由でのみ送信されるようにすることです。このために、ランダムな値でフォームトークンを作成し、それをセッションと非表示のフォームフィールドに配置します。フォームが投稿されたら、セッションに対してこの非表示フィールドの値を確認してください。フォームトークンが存在し、セッションと一致する場合はアップロードを許可し、そうでない場合は許可しません。

アップロードフォームページ

PHPコード:

$token = md5 (uniqid (rand (), true));
$_SESSION[“token”] = $token;

HTMLコード:

<form> 
 <input type="file" />
<input type=”hidden” name=”token” value=”&lt;?php echo $token;?>”&gt;
</form>

$_SESSION["token"]ユーザーがアップロードページに新しいファイルのアップロードを要求するたびに、送信ページが上書きされます。したがって、値がリセットされることを心配する必要はありません。

于 2012-08-26T04:59:23.013 に答える