0

画像ファイルをロードするために PHP でプロキシを実装する必要があります。

<?php
    header('Content-Type: image/png');
    if (isset($_POST['remote_url'])) {
        echo file_get_contents($_POST['remote_url']);
    }
?>

(1) これを行うより良い方法はありますか? またはこれを強化しますか?(速度とサーバーの負荷に関して)

(2) この PHP スクリプトの不正使用を回避するにはどうすればよいですか?

4

1 に答える 1

0

(1) 少なくともエラー処理を追加します。リモート リソースのフェッチは、タイムアウト、404、またはその他の HTTP エラーで終了する場合があります。file_get_contentsそして、これにより、構成オプションがはるかに多い CURL に切り替えることができます。ちなみに、いくつかのテストではfile_get_contents、 よりも高速に動作することが示されています。

(2) セッションを使用する場合は、ここで認可に適している可能性があります。別の (ただし信頼性は低い) オプションは、HTTP_REFERERヘッダーの内容をチェックすることです。

于 2013-11-06T09:58:11.710 に答える