2016-08-18 7 views
1

私は、Ubuntu Server上のApache上で動作するsymfony 2.8で構築されたWebサイトを持っています。私はウェブサイト上でいくつかの壊れた画像リンクを持っていて、誰かが問題のページに行ったときには、プロセッサとメモリの両方を取り除き、ブラウザは60秒間足らずの資産を引き出して取得しようとします。サーバーに負荷がかかる画像リンクが壊れています。 symfony2/Apache

私は欠けている画像を修正しましたが、明らかにそこにないときに不足している資産の検索をやめるためにサーバ側で行うことができますか?

今のところ、攻撃者は自分のウェブサイトのコンテンツを要求し、自分のサーバーを膝に持っていくことは非常に簡単です。

--Edit--

誰かが直接存在しないのですパス/ファイルにアクセスしようとするとヒットリソースを取ってから私のサーバーを停止する方法がある場合、私は思ったんだけど何。つまり、example.com/images/non-existent.jpgに直接アクセスした場合です。現在私のサーバーでは、CPUが1つのコアで100%にスパイクされ、RAMの使用量は要求が1分程度で時間切れになるまで徐々に上昇します。そのようなリクエストは、私のリソースをすべて使います。

--edit 2--

私はこの投稿をので、私は、これは画像だけに限定されないことを、発見しました。 404エラーを返さなければならないパスは、同じように動作します。すなわちexample.com/this/is/not/a/real/pathはハングアップし、最後にタイムアウトします。

答えて

-1

チェックファイルはHTML

if(file_exists('img.jpg')){ 
    // your code for inserting the image into the HTML 
} 

http://php.net/manual/en/function.file-exists.php

+0

たぶん私は私の質問に十分明らかではなかったが、私は、ファイルがPHPであっあるかどうかを確認する方法を知っているに含める前にexsists場合。誰かが存在しないパス/ファイルに直接アクセスしようとすると、私のサーバーがリソースにヒットするのを止める方法があるのだろうかと思います。 、つまりexample.com/images/non-existent.jpgに直接アクセスした場合現在私のサーバーでは、CPUが1つのコアで100%にスパイクされ、RAMの使用量は要求が1分程度で時間切れになるまで徐々に上昇します。 – chrislebaron

+0

@chrislebaronあなたのアップデートを読んだ後、誰かが存在しないファイルにアクセスした場合、サーバは単に404エラーを投げるべきです –

+0

私はそれが私が起こりたい動作ですが何らかの理由で合意する必要があります。おそらく、私はSymfonyを何らかの形で間違って設定しています。私はいくつかのブラウザ上に存在しないリソースに行ってみましたが、ちょうど約1分間ハングしてから応答エラーが出ます。 – chrislebaron

関連する問題