권장 : ASP 응용 프로그램 설계의 웹 상태 관리 분석 많은 개발자들은 웹에 응용 프로그램을 전달하기 전에 상태 개념을 고려하지 않습니다. 앞에서 언급했듯이 웹은 무국적 환경입니다. 따라서 우리는 상태가 무엇인지 논의하고 문제를 피할 수있는 방법을 이해해야합니다. 단일 사용자의 정확한 정의
먼저 세션에 대해 이야기합시다세션에 대한 토론은 결코 멈추지 않은 것으로 보이지만, 세션을 이해할 수있는 90 명 이상의 사람들이 설명되어야합니다.
하지만 늙지 마 ~
어떤 사람들은 세션에 동의하고 다른 사람들은 동의하지 않습니다. 그러나이 질문에 대해 정확히 무엇을 말해야합니까? 내 의견을 듣지 않겠습니까?
오류가 있으면 금색 막대와 동전을 제외하고는 요점에 물건을 던지지 마십시오.
어떤 사람들은 내가 Jianghu 프로그램에서 일하는 사람이고 Jianghu 프로그램에서 내가 소중히 여기는 것은 효율성이지만 여기서는 디자인에 대해 이야기하지 않습니다.
좀 더 실용적인 관점에서 세션을보십시오.
우선, 우리는 먼저 세션이 특정 사용자와 함께 저장할 수있는 일에 대해 이야기해야합니다.
전면 창에서 열리는 모든 창에는 대상 사용자 정보 저장 메커니즘이 있습니다. 왜 그렇게 말합니까? 다음을보십시오
첫 번째 연구 세션이 시작되는 방법을 연구하십시오.
그림, 사운드 및 플래시와 같은 다양한 유형의 데이터에 대한 권한을 다운로드하십시오.
실제 데이터 전송 내용 : 즉 서버로
get / http / 1.1
수락 : 이미지/gif, 이미지/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */ *
수락 language0 : Zh-CN
인코딩 수락 : gzip, deflate
사용자 에이전트 : Mozilla/4.0 (호환 가능; MSIE 5.01; Windows NT 5.0)
호스트 : www.jh521.com
연결 : 계속하십시오
서버는 IE가 사용하지 않는 SessionID를 반환합니다.
다음과 같이 관련 페이지의 다운로드 데이터를 동시에 반환합니다.
HTTP/1.1 200 OK
서버 : Microsoft-IIS/5.0
날짜 : Sun, 2003 년 11 월 30 일 16:41:51 GMT
컨텐츠 길이 : 21174..Content-Type : Text/Html
set-cookie : aspsessionidcacbbbrt = ibomfonaojfeebhbpienjffc;
캐시 제어 : 개인
그런 다음 페이지 HTML 코드가 있습니다
현재이 IE 프로그램 (클라이언트가 아님)의 세션은 ibomfonaojfeebhbpienjffc입니다.
즉,이 사이트에서 ASP 프로그램에 액세스하면 iBomfonaojfeebhbpienjffc를 보냅니다.
서버에 제공하면 서버는 ibomfonaojfeebhbpienjffc라는 것을 알게 될 것입니다.
세션 (이름) = 서버에서 이름을 설정합니다
그것은 다음으로 간주 될 수 있습니다
세션 (ibomfonaojfeebhbpienjffc) (이름) = 이름
또는
세션 (sessionId) (이름) = 이름
이런 식으로 세션은 사용자를 구별합니다.
서버 가이 ID를 피드백하면 ID가 사용되는지 확인합니다. 변화가 있다면
어쨌든, 당신은 반복되지 않을 것입니다. 누군가의 세션 ID를 시뮬레이션하여 속임수를 쓰는 것은 괜찮습니다. 그러나 얻기 위해
상대방의 IE는 신호를 전송하며 그 당시 세션 id가 취소되지 않은 경우에만 구현할 수 있습니다.
그러나 내가 그 시간을 가졌다면, 나는 그에게 직접 이름을 찾아 게시물 신호를 통과 할 것입니다. 나는 이것에 대해 걱정할 필요가 없습니다
어떤 사람들은 SessionID의 작동 방식을 이해한다고 생각합니다
그런 다음 쿠키를 살펴 보겠습니다.
그러나 사용자와 서버가 개인 데이터를 전송하는 작업 모드에 속합니다.
쿠키를 설정하면 서버는 IE에 대한 명령을 피드백합니다. 즉,이 네트워크 명령을 통해 쿠키를 생성합니다
저장소,이 정보는이 사이트에 액세스 할 때와 같은 특정 시간에 얻을 수 있으며 Cookid는 유효합니다.
그래서 왜 세션 대신 쿠키를 사용하십시오
차이를 참조하십시오
컨텐츠 전송을위한 유효한 시간 및 저장 방법
쿠키는 명시 적 정보를 로컬로 설정하고 유지할 수 있습니다
IE에서 세션이 종료되지 않으며 서버는 시간을 초과하지 않습니다.
다음에 사용자 이름이나 비밀번호를 입력 할 필요가 없을 때 사용자가 웹 사이트에 로그인하도록하려면 쿠키 만 사용할 수 있습니다.
그는 꽤 오랫동안 그것을 유지할 수 있기 때문에 (쿠키 레코드가 삭제되거나 만료되기 전에)
그러나 세션은 불가능하고 너무 오래 유지하지 않으며, 즉, 세션이 폐쇄 된 후 SessionID 레코드를 자동으로 지우게됩니다.
다음에 로그인하면 새 SessionId를 요청합니다.
서버가 사용자의 개인 변수를 통해 사용자의 상태를 확인하려면 쿠키를 사용할 수 없습니다.
사용자 권한을 설정하면 사용자입니다. IE가 액세스하면 사용자 코드를 서버로 전송합니다.
쿠키 레코드를 직접 수정하고 사용자를 관리자로 수정하는 등 특정 수단을 사용하는 경우 ~~
번거 롭습니다.
그러나 사용자 이름 및 비밀번호 또는 웹 사이트 색 구성표와 같은 정보를 저장하는 것이 가장 좋습니다.
좋아, 조금 피곤해, 나는 이것에 대해 이야기하고있다
request.servervariables (http_referer)
이 요청을 통과하는 사람들이 있다고 생각합니다.
특히 원격 제출 및 불법 침입에 대한 몇 가지 주요 제한 사항을 구현합니다.
그런 다음 서버에게 얻은 HTTP_REFERER 정보가 IE에 의해 서버로 완전히 전송되어 시뮬레이션 할 수 있음을 상기 시키려고합니다.
그리고 어렵지 않습니다. VB를 사용하여 30 분 이내에 http_referer 침입 프로그램을 만들 수 있습니다.
공유 : ASP 인스턴스 코드 : 긴 기사 페이징 코드 설정 방법 다음은 참조 된 내용입니다. <%class aspxsky_page private sub class_initialize end sub public function Alert (messa