タグ

headerとPHPに関するm_shige1979のブックマーク (3)

  • PHPにおけるHTTPヘッダインジェクションはまだしぶとく生き残る

    この記事はPHPアドベントカレンダー2015の3日目の記事です 。 MBSD寺田さんの記事「LWSとHTTPヘッダインジェクション」では、PHPのheader関数に関連して、PHP側のHTTPヘッダインジェクション対策を回避する手法と、それに対するPHP側の対応について書かれています。この記事では、寺田さんの記事を受けて、現在でもHTTPヘッダインジェクション攻撃が可能なPHP環境が残っているかを検証します。 HTTPヘッダインジェクションとは 以下の様なスクリプトがあるとします。 <?php header('Location: ' . $_GET['url']); オープンリダイレクタ脆弱性がありますが、それは気にしないとして、PHP5.1.1までのバージョンでは、以下の様な攻撃が可能でした。 http://example.jp/header.php?url=http://example

    PHPにおけるHTTPヘッダインジェクションはまだしぶとく生き残る
  • 『PHPのheader関数を使うときのSEO的注意点』

    PHPにはheader関数というとても便利な関数があります。 これは簡単に言うとHTTPヘッダー情報を送信するという機能です。 この関数を応用するとリダイレクトのようなことができます。 具体的にはindex.phpに記述しておくと、 header("Location: http://www.domain.com/index2.php") ; と記述すると、index.phpからindex2.phpを呼び出します。つまり、index2.phpへ リダイレクトされます。 ただし、このときに注意しなければいけないことは、このままだと Moved Temporaryになるということです。 SEO的に理想とされるMoved Permanentlyにするためには header("HTTP/1.0 301 Moved Permanently") ; header("Location: http://ww

    『PHPのheader関数を使うときのSEO的注意点』
  • PHPを利用したBasic認証の仕組み - Qiita

    注意 この記事はBasic認証フローの仕組みを解説することに重点を置いており,セキュリティに関してはあまり考慮しておりません.セキュリティを考慮した実用的な実装に関しては以下をあたってください. PHPによる簡単なログイン認証いろいろ password_verifyは当にタイミングセーフなのか? 導入 「今どきBasic認証みたいな危険なもの使うなんて…」 なんて心配はさておき、何故以下のような記述でダイアログを交えた認証フローが成り立つのか疑問に思っていました。結論からすれば大したことないんですけど、それがイメージしにくかったのでここにメモしておきます。 <?php switch (true) { case !isset($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']): case $_SERVER['PHP_AUTH_USER']

    PHPを利用したBasic認証の仕組み - Qiita
  • 1