0

私の Web サイトには、ユーザーが TXT でファイルをアップロードできるフォームがあります。これらのファイルは常に PHP ファイルであり、サーバー (APACHE + PHP を実行している) に害を及ぼさないように、拡張子を変更するようユーザーに要求します。

ファイルは、後で必要に応じてファイルをダウンロードできるため、www ディレクトリにアップロードする必要があります。ファイルをルート (public_html の上) に保存することはできません。これは、ユーザーがいつでもファイルをダウンロードするためのアクセス権を持っている必要があるためです。問題は、ユーザーが PHP ファイルを含む URL を開くと、それが実行され、セキュリティに大きな穴が開くことです。

これまでのところ、ファイルを txt としてアップロードするようにユーザーに依頼していますが、より専門的なものにして、*.php としてアップロードできるようにしたいと考えています。セキュリティ シアターを使用してファイルをアップロードする攻撃によるサーバーの損傷を防ぐにはどうすればよいですか?

ありがとうございました。

4

3 に答える 3

1

それらを.phpsファイルとしてアップロードすることをお勧めします。通常、それらを表示すると、構文が強調表示されたPHPファイルになり、実行できなくなります。

PHPS ファイルが Web サーバーで自然に機能しない場合は、これを試すことができます: https://kb.mediatemple.net/questions/1655/How+do+I+enable+.phps+file+to+be+color+highlighted %3F

PHPを無効にする

または、それらを別のディレクトリにアップロードし、そのディレクトリの .htaccess ファイルで次のように設定して、.htaccess で PHP を無効にすることもできます。

php_flag engine off
于 2013-07-26T17:14:06.887 に答える
0

PHP としてアップロードしてから、アップロードされた一時ファイルを永続的なホームに移動するときに、名前を myfile.php.source のようにします。ダウンロードページでは、ファイルにリンクするだけでなく、ブラウザでページをロードするのではなくダウンロードを強制できるようにストリーミングし、ヘッダーでの配信方法を制御できます。

header("Content-Disposition: attachment; filename=\"$file\"");

それが役立つことを願っています

于 2013-07-26T17:20:08.927 に答える
0

フォルダーを作成し、そこにすべてのスクリプト ファイルをアップロードするように php を設定します。

フォルダーのアクセス許可を 744 に設定します。

これにより、そのフォルダー内のファイルが実行されなくなります。

于 2013-07-26T17:25:42.520 に答える