タグ

**phpと雑学に関するphistaのブックマーク (2)

  • 間違いだらけの「かんたんログイン」実装法

    DNSリバインディング」による攻撃 今度は、契約者固有IDのなりすまし(変更)をしないでかんたんログインを攻撃する、「DNSリバインディング(DNS Rebinding)」と呼ばれる手法を紹介します。 DNSリバインディングは受動的攻撃の一種です。なりすましのターゲット(対象者)の携帯電話ブラウザ上で攻撃用スクリプトが動作することで攻撃が起こります。図3を用いて、DNSリバインディング攻撃の概要を説明します。 図3のexample.jpが攻撃対象サーバ、trap.example.comは攻撃者が管理している「罠」のサーバです。攻撃者は罠サイト上に、JavaScriptを仕込んだHTMLを用意し、example.jp利用者が閲覧するのを待ちます。以下に攻撃シナリオを示します。 【1】罠サイトを閲覧すると、JavaScriptがダウンロードされる 【2】罠を閲覧したタイミングで、ローカルに保

    間違いだらけの「かんたんログイン」実装法
    phista
    phista 2011/03/03
    * 携帯電話事業者のゲートウェイからのアクセスのみを受け付ける(IPアドレスチェック) * リモートIPアドレスを基にキャリア判定を行う(User-AgentなどHTTPリクエストヘッダで判定してはいけない) * 契約者固有IDとしてはi
  • PHPと仲良くなろう − empty()とdefine() − | GREE Engineering

    はじめに こんにちは、グリーでエンジニアをやっている梶原と申します。 今日は、以前PHPについて気になって調べたことについて、紹介したいと思います。 敬遠されがちなPHPですが、中身を知ると自然と愛着が湧いてきます。 empty()について empty()と言えば、PHPが誇る7不思議関数のひとつです。 http://www.php.net/manual/ja/types.comparisons.php こちらにある通り、どうしてtrueになるのかfalseになるのか不明な点が多い関数です。 empty()が呼ばれる箇所を見てみたいと思います。 php-5.3.2/Zend/zend_vm_execute.h 22701 static int ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_A

    PHPと仲良くなろう − empty()とdefine() − | GREE Engineering
  • 1