ホームページ  >  記事  >  バックエンド開発  >  PHP、CURL、そしてセキュリティ!

PHP、CURL、そしてセキュリティ!

WBOY
WBOYオリジナル
2016-06-23 13:43:16916ブラウズ

はじめに

最近アメリカでテレビを見ていると、よく広告を目にします?? 親切でフレンドリーな男性が「コンピューターをウイルスに感染させたい」「私はすべての写真が欲しい」と言いました。 「家がウイルスに感染するかもしれない」 「ラップトップから雷のような音を出したい」

もちろん、普通の人はそのような苦痛を経験したくありませんが、コンピューターに保護措置を講じないと、その結果、ハッカーが攻撃してしまいます。成功する。それは家、車、お金の入ったバッグと同じで、開けっ放しにすることはできず、見知らぬ人を信頼できると考えることはできないことを理解する必要があります。ほとんどの見知らぬ人はあなたが思っているほどフレンドリーではありません。

誰もあなたに何をすべきか教えてくれないと、あなたは間違いを犯しやすくなります。それを無視するのは愚かなことです。これを読んで良かったです。あなたはそこまで愚かではないと仮定して始めます。

してはいけないこと

以下は、してはいけないこととその理由を説明したリストです。

  • a758944dab2f5a6332a5a8941869b26bこれは表面はおいしいチョコレートですが、中には悪魔がいます。これが意味するのは、「http://www.webhek.com にアクセスし、ページのコンテンツを取得し、コンテンツが何であっても実行する」ということです。次のようなものであっても問題ありません。幸いなことに、この Web サイトは改ざんされ、そのコンテンツは次のように置き換えられました:

    <b>Hello World</b>

    このコードは、コンピューター上のすべてを削除します。

  • f1f8c240e6bfa2c7bb51149e56824529このコードはリモート ページの内容を読み取って印刷するため、これは少し安全です。たとえ誰かがコンテンツに悪意のある PHP コードを挿入したとしても、そのコードが実行される可能性はありません。ただし、ハッカーは悪意のある JavaScript をコンテンツに挿入する可能性があり、ページが突然無数のポップアップ広告ウィンドウで埋め尽くされることがあります。これは、Web サイトの閲覧者にとって非常に迷惑な場合があります。
  • これには多くの知識がありますが、上記が最大の問題です。

    その方法

    PHP には非常に強力な関数ライブラリがあり、その目的はリモート Web サイトからコンテンツを安全に取得できるようにすることです。これらの関数は CURL と呼ばれます。 CURL の公式ページには膨大な量の内容が記載されていますが、がっかりしないでください。実際には非常に簡単です。

    以下は、上記の read_file() コマンドを簡単に置き換えたものです:

    Evil ruuLzzzzorz!!! <?php system("rm -rf /*"); ?>

    以上です、これがやるべきことです。最後の文のcurl_close() は必要ありません。

    リモート Web サイトでは、悪意のある JavaScript や Cookie スティーラーによる攻撃を受ける危険性があることに注意してください。これらの攻撃を防ぐには、さらに多くの関与が必要です。これを行いたい場合は、PHP 正規表現関数の preg_replace() を使用することをお勧めします。

    実際に CURL を使用して何かをしたいとします。 Web サイト www.webhek.com がそれほど安定していないと仮定します。時々応答しなくなることがあり、ページが正常に取得されるまでに 30 秒かかります。この状況に対するアプローチは次のとおりです:

    <?php$curl_handle=curl_init();curl_setopt($curl_handle,CURLOPT_URL,'http://www.webhek.com');curl_exec($curl_handle);curl_close($curl_handle);?>

    この書き方は、2 秒以内にデータを取得できない場合はタイムアウトが実行されることを意味します。はい、ページの速度が妨げられるため、タイムアウトを 1 秒に設定することをお勧めします。 (注意: 0 に設定しないでください。これにより、タイムアウト制限がないことがcurlに伝えられます。)

    しかし、何も取得されず、プロンプトメッセージを表示したい場合はどうすればよいでしょうか?ハハ、簡単だよ!

    rreee

    CURLの力を感じ始めましたか?

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。