0

私はアップロード スクリプトに取り組んでおり、ユーザーが任意のファイルをアップロードできるようにしたいと考えています。私はそれをローカルホストで動作させました、と私は付け加えました

    php_flag engine off 
    AddType text/plain php html shtml php5 php4 php3 cgi asp aspx xml

アップロードフォルダーのhtaccessにアクセスすると、PHP、html、およびその他すべてのファイルのソースが表示されました。まさに私がしたかったように。今、実際の Web サーバーにアップロードしようとしましたが、残念ながら私のホストはそのような .htaccess ファイルを許可していません。

file_get_content() と fopen() を使用してファイルを開き、text/plain ヘッダーを指定しようとしましたが、何も機能しません。最初にスクリプトを実行し、出力をテキストエリアに表示します。

.htaccess なしでこれを修正する方法について何か提案はありますか?

ありがとう!

4

1 に答える 1

1

ファイルをWebルートにアップロードして、他のユーザーが直接アクセスできるようにしないでください。あなたが言うように、.phpスクリプト(そしておそらくもっとたくさん)はそのように実行されます。任意のコード実行攻撃の古典的な方法。

アップロードされたファイルを公開されていないWebルートの外部に保存し、必要な権限チェックを行った後、ユーザーがファイルをダウンロードできるようにするスクリプトを作成します。たとえば、readfileまたはApachemod_xsendfileを使用します。

アップロードによるセキュリティの脅威も参照してください。

于 2012-07-18T11:07:34.527 に答える