Cookies 사기 구멍 방지 방법(vbs+js 구현)
<%
Dim username, password
username = Session("username")
if username = "" then
' Session
username = Request.Cookies("username")
password = Request.Cookies("password")
' username password SQL ( “'”),
if username = "" or password = "" then
'
...
else
' conn rs
rs.Open "SELECT TOP 1 * FROM [user] WHERE username='" & username & "' AND password='" & password & "'", conn, 1, 3
if rs.eof then
' Cookies
...
else
' Cookies ,
Session("username") = username
...
end if
end if
else
' Session ,
...
end if
%>
js:
<%
var username, password;
username = Session("username") + "";
if (username == "" || username == "undefined") {
// Session
username = Request.Cookies("username") + "";
password = Request.Cookies("password") + "";
// username password SQL ( “'”),
if (username == "" || username == "undefined" || password == "" || password == "undefined") {
//
...
}
else {
// conn rs
rs.Open("SELECT TOP 1 * FROM [user] WHERE username='" + username + "' AND password='" + password + "'", conn, 1, 3);
if (rs.eof) {
// Cookies
...
}
else {
// Cookies ,
Session("username") = username + "";
...
}
}
}
else {
// Session ,
...
}
%>
그러나 이러한 방법 은 사용자 에 게 안전 하지 않다.브 라 우 저 는 페이지 를 방문 할 때마다 쿠키 를 전송 하고 비밀 번 호 를 포함 한 쿠키 를 다른 사람 이 가 져 오 면 사용자 계 정 이 도 둑 맞 기 때문이다.이러한 상황 에 대해 두 번 째 방법 이 나 타 났 다.즉,사용자 정보 데이터베이스 에'verifycode'필드 를 추가 하고 사용자 가 로그 인 할 때 랜 덤 으로 긴 정형 검사 값 을 verifycode 필드 에 저장 하 며 username 과 이 verifycode 값 을 password 가 아 닌 Cookies 에 저장 하 는 것 이다.쿠키 의 사용자 정 보 를 검증 할 때 도 username 과 verifycode 만 검증한다.이런 방법의 장점 은 사용자 의 쿠키 가 해 킹 당 하 더 라 도 이'임시'로 생 성 된 verifycode 로 만 로그 인 할 수 있 을 뿐 사용자 의 비밀 번 호 를 얻 을 수 없다 는 점 이다.이 사용자 가 다시 사용자 이름과 비밀 번 호 를 사용 하여 로그 인하 면 이 verifycode 값 이 바 뀌 고 해커 는 원래 의 verifycode 를 통 해 로그 인 할 수 없습니다.이런 방법의 실현 은 상술 한 방법 1 의 코드 에 약간의 변경 만 필요 하 다.우선,로그 인 프로그램 에서 사용자 정 보 를 저장 하 는 곳 에 vbs:
<%
Response.Cookies("verifycode") = int(rnd * 2100000000)
%>
js:
<%
Response.Cookies("verifycode") = Math.floor(Math.random() * 2100000000);
%>
를 추가 한 다음 에 위 에서 제공 한 인증 코드 에서 Cookies("password")에 대한 인증 을 Cookies("verifycode")에 대한 검증 으로 바 꾸 면 됩 니 다.4.결론 은 우리 의 분석 과 처 리 를 통 해 Cookies 사기 구멍 이 완전히 해결 되 었 고 이로부터 우리 의 ASP 프로그램 은 더욱 안전 해 졌 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
08. Laravel 4 사용자 요청의 데이터현재 요청 데이터 사용자가 제출한 모든 데이터 가져오기 참고: 여기서 얻은 데이터는 GET와 POST가 제출한 모든 데이터를 포함하고 GET의 우선순위가 높습니다. 그래서 다음과 같은 제출은 이런 데이터를 얻을 수 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.