ホームページ >バックエンド開発 >PHPチュートリアル >PHP、CURL、そしてセキュリティ!
最近アメリカでテレビを見ていると、よく広告を目にします?? 親切でフレンドリーな男性が「コンピューターをウイルスに感染させたい」「私はすべての写真が欲しい」と言いました。 「家がウイルスに感染するかもしれない」 「ラップトップから雷のような音を出したい」
もちろん、普通の人はそのような苦痛を経験したくありませんが、コンピューターに保護措置を講じないと、その結果、ハッカーが攻撃してしまいます。成功する。それは家、車、お金の入ったバッグと同じで、開けっ放しにすることはできず、見知らぬ人を信頼できると考えることはできないことを理解する必要があります。ほとんどの見知らぬ人はあなたが思っているほどフレンドリーではありません。
誰もあなたに何をすべきか教えてくれないと、あなたは間違いを犯しやすくなります。それを無視するのは愚かなことです。これを読んで良かったです。あなたはそこまで愚かではないと仮定して始めます。
以下は、してはいけないこととその理由を説明したリストです。
<b>Hello World</b>このコードは、コンピューター上のすべてを削除します。
その方法
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の力を感じ始めましたか?