首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不要在历史记录中保存URL,有没有标题或元标记?

不要在历史记录中保存URL,有没有标题或元标记?
EN

Stack Overflow用户
提问于 2010-07-05 18:22:05
回答 2查看 2K关注 0票数 4

是否有任何HTTP-headers或元标记可以用来避免将URL放入浏览器历史记录中?

例如,我不想

代码语言:javascript
复制
http://domain.td/show/super-secret-unique-token-that-is-private

当我开始输入"domain.t“时,我会在浏览器的地址栏中显示。

目前,我在网站上有一个(POST)搜索表单来加载令牌,但它们没有出现。但是稍后我想通过链接加载令牌,比如说一个专辑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-05 20:45:09

决定使用我保存在浏览器会话中的地图。这样,我就可以通过URL传递tokenKey,然后再将变量取回。

我编写了这个小小的Zend_Session_Namespace扩展类,并添加了'add‘和'get’函数。

代码语言:javascript
复制
<?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;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2010-07-05 18:25:13

我觉得你做不到。

您可以将令牌保存为cookie,或者将其用作GET参数,但使其每15分钟过期一次(并在每次加载页面时重新生成一个新的令牌)。还要检查相同的用户代理,如果您想沿着IP道路走下去,IP地址(但是它可能会给出误报,我不建议这样做)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3178715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档