投稿

1月, 2022の投稿を表示しています

HTTP通信のGET、POSTの違い

 http通信にはGETとPOSTといった2つの代表的なメソッドがある。 主にメソッドとかのhttp通信を掘り下げたような話は普通は意識しないが、ログインフォームや検索機能、メールフォームなどを持つWebサイトを作成する上では、セキュリティ上必ず意識する必要がある。 具体的な違い GET GETは最もポピュラーなメソッドで、Webサイトにアクセスしたり、検索をしたりする時に必ず使用される。  POSTとの一番大きな違いは、「URLにデータをくっつけて送信できる」事である。 例えば、example.comというWebサイトでhogehogeという文字列で検索したとする。この際に送信されるデータはsearch="hogehoge"であるが、(searchの部分はサイトによって変わる)このデータはURLにくっつき、追記する形で送信される。 具体的には「example.com? search = hogehoge 」である。 これは複数個データを指定することができ、データの連結には「&」を用いる。例えば、同じくexample.comというWebサイトでhogehogeという文字列を検索し、検索結果の5ページ目を表示するようにデータを送信したとする。この際のURLは、「example.com? search = hogehoge & page = 5 」である。 これらのデータを受け取ったサーバは、URLに含まれるデータを展開/解読し、処理を実行している。 セキュリティ面では、URLにデータが含まれる以上、誰かにURLからデータを抜かれてしまう恐れがある。履歴にも残るので、 共用PCでGETメソッドを使用したログインフォームのあるページにアクセスし、ログインすると、パスワードやユーザ名が丸見えになる可能性もある 。 今まで散々GETをこき下ろしてきたが、利点もある。それは、 ブックマークをする際にとっても便利 なのだ。ブックマークは大抵、URLとページのタイトル、アイコンのみを記録する。POSTを使用した検索エンジンで検索しようとすると、 データはPOSTリクエストにのみ記録されてしまうのでブックマークはできない 。ただし、GETは URLにデータが記録されるのでブックマーク時にデータが保存できる 。 POST POSTはGETの次にポピュ...

【php】ダウンロード回数をカウントするやつ

 ファイルのダウンロード回数をカウントしてファイルに記録する奴。 ダウンロード回数のカウントにphp、ダウンロード先へのリダイレクトにjavascriptを使用している。 コード dlcount.php <! DOCTYPE html > < html lang = "ja" >     < head >         < meta charset = "utf-8" />         < title > ちょっとまってね </ title >         < meta name = "robots" content = "noindex" >     </ head >     < body >         <?php             $DownloadFile = $_GET [ 'file' ];             echo "ファイル '" . $_GET [ 'file' ] . "' をダウンロードしています...<br> \n " ;             echo "ダウンロードが始まらない場合は、下にある「ダウンロード」をクリックしてください。<br> \n " ;                         $file_path = 'dlcount.txt' ;             $file_data = file ( $file_path );    ...