一般处理文件做登录验证,登录成功写cookie,否则跳转到登录页面,在本机VS里面测试是能达到验证效果的,直接输入地址,会跳转到登录页面,但是发布出去,直接输入地址,也能访问。求解
Cookie保存是客户端,只是每次请求会发送到服务器端,但是Cookie有过期时间的设置。
仔细检查你的代码,在判断用户登录时写入的Cookie是否有漏洞,另外使用浏览器可以查看你保存的Cookie信息:
Google浏览器是右键-查看网页信息。
火狐浏览器是右键-查看网页信息-安全。
浏览器还保留着服务器的cookie,所有就可以登录。看下浏览器的cookie就知道。
aspx页面,是在浏览器关闭的时候cookie就过期(这个在没有设置cookie过期时间的时候cookie默认的)。但是静态页面发布出去却不是这个效果,而在vs里面却有效果。
if %num%==3(
goto close
)
:startit
echo 123
pause
看半天没看懂你说的是什么玩意!COOKIE是保存到客服端的, 可以设置过期时间, 调用事随时获取(设置COOKIE后关闭浏览的网页,再打开同样能获取其值)。下面为我自己写的 js 中 COOKIE值的设置,获取,和删除的方法,仅供参考。
//写cookies函数
function SetCookie(name, value)//两个参数,一个是cookie的名子,一个是值
{
var Days = 1;
var exp = new Date();
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escapeStr(value) + ";expires=" + exp.toGMTString() ;
}
function GetCookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null;
}
function DelCookie(name)//删除cookie
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = GetCookie(name);
if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";
}
//因为 cookie值的 value 有时 要动态变化的,所以传入value时最好 用下面的函数转码下(能转换 空格等其它符号),用的时候调用 $.unescape()即可
function escapetr(str) {
return escape(str).replace(/\+/g, '%2B').replace(/\"/g, '%22').replace(/\'/g, '%27').replace(/\//g, '%2F');
}
if %num%==3(
goto close
)
:startit
echo 123
pause
if %num%==3(
goto close
)
:startit
echo 123
pause
if %num%==3(
goto close
)
:startit
echo 123
pause