4

브라우저 기록에 URL이 표시되지 않도록하기 위해 사용할 수있는 HTTP 헤더 또는 메타 태그가 있습니까?기록, 헤더 또는 메타 태그에 URL을 저장하지 않습니까?

예를 들어, 나는 "domain.t"를 입력 시작할 때

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

는 브라우저의 URL 표시 줄에 표시하지 않습니다.

현재 웹 사이트에 토큰을로드 할 수있는 (POST) 검색 양식이 있으며 올라 오지 않습니다. 하지만 나중에 링크를 통해 토큰을로드하려고합니다. 앨범을 보겠습니다.

답변

0

브라우저 세션에서 저장 한지도를 사용하기로 결정했습니다. 이 방법은 내가 tokenKey throgh 전달할 수 있으며 나중에 다시 변수를 가져옵니다.

나는이 작은 확장 클래스 인 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; 
    } 
} 
2

나는 그렇게 생각하지 않습니다.

토큰을 쿠키로 저장하거나 GET 매개 변수로 사용할 수 있지만 15 분마다 만료되도록 설정하고 모든 페이지로드시 새 쿠키를 다시 생성 할 수 있습니다. 또한 동일한 사용자 에이전트를 확인하고 IP 도로, IP 주소로 이동하려는 경우 (오탐 (false positive)을 줄 수 있지만 권장하지 않습니다).

+0

아마도 아약스를 사용하십시오. – zaf

+0

그래, 아마 세션에 "링크 맵"을 저장할 수있을거야. 고유 한 생성 키가있는 배열에 고유 토큰을 저장하십시오. 그런 다음 URL을 통해 고유하게 생성 된 키를 전달하십시오. 그렇게하면 같은 세션이 아니라면 URL이 가짜가됩니다. – Phliplip

+0

내 자신의 솔루션에 대해 생각한 후에, 나는 그것이가는 길이라고 생각합니다. 이것은 또한 현재 가지고있는 몇 가지 다른 문제를 해결할 것입니다 :) 올바른 방향으로 내 생각을 가져 주셔서 감사합니다! – Phliplip

관련 문제