2016-10-23 11 views
2

URLにCURL要求を行って、40xまたは50xのWebページかどうかを確認するコードを実装しようとしています。しかし私の心配は私のユーザーが悪質なURLを入力した時です。どのように安全なPHP CURLライブラリがこれを処理できますか? PHP CURLはウェブブラウザと同じエクスプロイトに遭遇するでしょうか?PHP CURL可能性のある悪質なサイトに安全にアクセスできますか?

+0

あなたは 'curl_init($ _ GET ['url_userinpit'])'のようなもので何が問題なのかを意味していますか? – Federkun

+0

@Federkunはい私は、カールがページにアクセスすると、WebサーバーがPHPカールのアクセスしたWebサイトによって悪用される可能性があると考えていますか? –

+0

Curlは要求を出して応答を返します。それだけです。 'curl_init($ _ GET ['url'])'のような問題は、ユーザが 'file://'のようなプロトコルを使ってサーバからファイルを読んだり、 'http:// internal_site_behind_firewall /'にアクセスしてバイパスすることができるということですアクセス制御。 「私はリダイレクトに従うようにカールを有効にし、悪意のあるファイルを 'file:/// etc/passwd'にリダイレクトするのはカール – Federkun

答えて

3

他のソフトウェアカールは完全ではないし、独自のバグとsecurity risksがあります。しかし、CURLは結果を解釈しないので、すなわち。 htmlやjavascriptを解析しない場合、攻撃の表面ははるかに小さくなります。つまり、Webブラウザよりもずっと安全です。ほとんどのセキュリティリスクは、エンドユーザー以上にカールするために使用するサーバーを悪用する悪いプログラマーに関連しています。

誰かがCURLを利用してサイトを利用するように特別に設計されたURLを提供する可能性があるという小さなリスクがあります。あなたの仕組みが他の人に害を与えるために使用される可能性のある危険性もありません。例えば、特定のページのチェックを何度も強制することによって、他の人々を洪水させることができます。しかし、これらは非常に小さなリスクであり、主にシステム管理者のドメインであり、システム全体の使用リソースを監視し、悪い動作を捕らえることができます。

プログラマとして、あなたはおそらく明らかにチェックすべきです:多くの時間にわたってリクエストを続けるべきではなく、URLはlongなどであってはなりません。

関連する問題