4

ブラウザの履歴にURLが入らないようにするために使用できるHTTPヘッダーまたはメタタグはありますか?

たとえば、私はしたくない

http://domain.td/show/super-secret-unique-token-that-is-private

「domain.t」と入力し始めると、ブラウザのURLバーに表示されます。

現在、トークンをロードするための(POST)検索フォームがWebサイトにありますが、トークンが表示されません。しかし、後で、たとえばアルバムから、リンクを介してトークンをロードしたいと思います。

4

2 に答える 2

2

私はあなたができるとは思わない。

トークンをCookieとして保存するか、GETパラメータとして使用できますが、15分程度ごとに期限切れにします(ページが読み込まれるたびに新しいトークンを再生成します)。また、同じユーザーエージェントを確認し、IPの道を進みたい場合は、IPアドレスを確認します(ただし、誤検知が発生する可能性があるため、お勧めしません)。

于 2010-07-05T10:25:12.980 に答える
0

ブラウザセッションで保存したマップを使用することにしました。このようにして、URLを介してtokenKeyを渡し、後で変数を取得できます。

この小さな拡張クラスのZend_Session_Namespaceを作成し、「add」関数と「get」関数を追加しました。

<?php

class My_Session_Tokens extends Zend_Session_Namespace {

    protected $_namespace = "Tokens";

    public function __construct($namespace = 'Tokens', $singleInstance = false)
    {
        parent::__construct($namespace, $singleInstance);
    }

    public function add($token) {
        if($tokenKey = $this->hasToken($token)) {
            return $tokenKey;
        }

        do { $tokenKey = uniqid(); } while(isset($this->$tokenKey));

        $this->$tokenKey = $token;
        return $tokenKey;
    }

    public function get($tokenKey) {
        if(isset($tokenKey)) {
            return $this->$tokenKey;
        }
        return null;
    }

    public function hasToken($token) {
        foreach($this as $key => $val) {
            if($val === $token) return $key;
        }
        return false;
    }
}
于 2010-07-05T12:45:08.757 に答える