>  기사  >  백엔드 개발  >  추적 쿠키: 어디에 숨겨져 있나요?

추적 쿠키: 어디에 숨겨져 있나요?

PHPz
PHPz원래의
2024-01-19 08:37:051291검색

추적 쿠키: 어디에 숨겨져 있나요?

쿠키 추적: 쿠키는 어디에 숨겨져 있나요?

인터넷의 지속적인 발전으로 개인화된 서비스를 제공하거나 광고 추적을 수행하기 위해 쿠키를 사용하는 것이 일반화되었습니다. 그러나 이는 해커나 기타 잠재적인 위협에 대한 기회도 만듭니다. 그렇다면 쿠키의 발자국을 추적하고 사용자 정보의 보안을 어떻게 보장할 수 있습니까?

먼저 쿠키의 개념을 이해해야 합니다. 쿠키는 일부 사용자 정보가 포함된 웹사이트 서버에 저장되는 작은 파일입니다. 사용자가 웹사이트를 방문하면 서버는 이 정보를 사용자의 컴퓨터에 저장하고 다음 방문 시 사용자를 식별합니다. 일반적으로 쿠키는 세션 쿠키와 영구 쿠키로 구분됩니다. 세션 쿠키는 사용자가 웹사이트를 방문할 때만 존재하며 사용자가 브라우저를 닫으면 자동으로 지워지는 반면, 영구 쿠키는 오랫동안 사용자의 컴퓨터에 저장되며 브라우저를 닫아도 유지됩니다.

다음에는 코드 예시를 통해 쿠키를 추적하고 관리하는 방법을 보여드리겠습니다.

1. 쿠키 설정 및 가져오기

시연의 편의를 위해 JavaScript를 사용하여 쿠키를 설정하고 가져옵니다.

먼저 영구 쿠키를 설정해 보겠습니다.

function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires="+ d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

setCookie("username", "John Doe", 365);

위 코드는 값이 "John Doe"이고 유효 기간이 365일인 "username"이라는 쿠키를 설정합니다.

다음은 쿠키를 구해보겠습니다.

function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

var username = getCookie("username");
console.log(username); // 输出 John Doe

위 코드는 "username"이라는 쿠키를 가져오고 해당 값을 콘솔에 출력합니다.

2. 쿠키 지우기

쿠키를 지우는 방법은 매우 간단합니다. 쿠키의 유효 기간을 과거로 설정하기만 하면 됩니다.

function clearCookie(cname) {
  document.cookie = cname + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}

clearCookie("username");

위 코드는 "username"이라는 쿠키를 삭제합니다.

3. 쿠키 추적

실제 시나리오에서는 사용자 정보 보안을 보장하기 위해 쿠키를 추적해야 합니다. 예를 들어, 사용자가 로그인을 하면 쿠키를 통해 사용자의 신원정보를 저장하고 이후 작업에서 이를 확인해야 합니다.

아래는 간단한 예입니다.

function login(username, password) {
  // 验证用户名和密码
  if (username === "admin" && password === "123456") {
    setCookie("loginToken", "token", 7);
    console.log("登录成功!");
  } else {
    console.log("用户名或密码错误!");
  }
}

function isLogin() {
  var token = getCookie("loginToken");
  if (token === "") {
    console.log("未登录!");
  } else {
    console.log("已登录!");
  }
}

login("admin", "123456"); // 登录成功!
isLogin(); // 输出已登录!

위 코드에서 사용자가 올바른 사용자 이름과 비밀번호를 입력하면 "loginToken"이라는 쿠키가 설정되고 유효 기간이 7일로 설정됩니다. 후속 작업에서는 이 쿠키를 획득하여 사용자가 로그인했는지 여부를 확인할 수 있습니다. 쿠키가 없으면 출력이 기록되지 않습니다. 쿠키가 있으면 출력이 기록됩니다.

요약하자면, 당사는 쿠키를 설정, 획득, 삭제 및 추적함으로써 사용자 정보의 보안을 보장할 수 있습니다. 물론 이는 단순한 예일 뿐이며, 실제 응용에서는 사용자 정보 보안을 유지하기 위해 다른 기술을 결합해야 합니다.

위 내용은 추적 쿠키: 어디에 숨겨져 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.