ASP 응용 프로그램에서 Session 객체는 사용자의 임시 개인 데이터를 저장하는 데 자주 사용됩니다. Asp의 Session 객체는 브라우저의 쿠키에 의존합니다. 사용자가 보안상의 이유로 또는 실수로 쿠키 옵션을 끄면 ASP가 올바르게 작동하지 않습니다. 사용자를 식별하면 결국 Session 개체가 정상적으로 사용되지 않게 됩니다.
후속 프로그램을 올바르게 실행하려면 먼저 클라이언트 프로그램이 쿠키를 허용하는지 여부를 확인해야 합니다. 그러나 브라우저에서는 쿠키가 꺼져 있는지 확인할 수 있는 방법을 제공하지 않으므로 직접 테스트할 수 있는 방법을 찾아야 합니다.
많은 개발자들이 브라우저의 쿠키 상태를 테스트하기 위해 자신만의 방법을 사용해 왔습니다. 가장 일반적인 방법은 한 페이지에서 쿠키를 보낸 다음 해당 쿠키가 다른 페이지에 존재하는지 테스트하는 것입니다. 이런 식으로 두 개의 ASP 요청이 필요합니다.
여기서 소개하는 방법은 서버 스크립트와 클라이언트 스크립트를 결합하여 브라우저 상태를 한번에 테스트하는 방법입니다.
NetBox는 처음으로 asp 프로그램을 초기화할 때 새 세션 개체를 할당하고 클라이언트에 Application.ApplicationID라는 쿠키를 보냅니다. 브라우저가 쿠키를 수락하면 다음 방문 시 이 쿠키를 다시 보냅니다. 서버가 이 쿠키를 받으면 지정된 세션 개체를 이 ASP 요청에 대한 세션 개체로 선택하여 특정 사용자에 대한 세션 개체의 고유성과 지속성을 보장합니다.
이를 통해 우리는 브라우저가 Application.ApplicationID라는 쿠키를 허용하는지 여부를 결정하여 다음 프로그램을 계속할 수 있는지 여부를 결정할 수 있다는 것을 알고 있습니다. 브라우저에 쿠키가 포함되어 있는지 확인하려면 브라우저의 쿠키 개체를 사용하여 완료할 수 있습니다. 다음 코드는 브라우저가 NetBox 세션을 수락하는지 테스트하는 것입니다.
<html>
<본문>
<스크립트 언어="javascript">
if(document.cookie.search("<%=Application.ApplicationID%>=") == -1)document.write("Not ");
</Script>허용합니다.
</body>
</html>
이 코드의 전제는 NetBox에서 보낸 쿠키의 이름을 아는 것입니다.
코드
를 사용하려면 iis가 보내는 쿠키의 이름이 시작될 때마다 다르기 때문에 더 어렵습니다. 따라서 테스트를 위해 쿠키를 직접 보낸 다음 다시 테스트할 수 있습니다.
.쿠키("CookieCheck")="on"%>
<html>
<본문>
<스크립트 언어="javascript">
if(document.cookie.search("CookieCheck=") == -1)document.write("Not ");
</Script>허용합니다.
</body>
</html>