专题栏目
  • 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌i幇顒佹儓闁搞劌鍊块幃瑙勬姜閹峰矈鍔呭┑鐐插悑閻楁粎妲愰幘瀛樺闁兼祴鍓濋崹鍨暦閿濆牏鐤€婵炴垶鐟ч崢閬嶆⒑閸︻厼浜炬い銊ユ噽閳ь剚鍑归崜姘跺箚閺冣偓缁绘繈宕堕妸褍骞嶉梻浣呵圭换妤呭磻閹版澘姹叉慨妞诲亾闁哄本鐩顒勫锤濡ゅň鍋撳Δ鍛厽闁挎繂鎳愭禒娑氱磼濡ゅ啫鏋涢柛鈹惧亾濡炪倖甯掔€氼剛绮婚弽銊ょ箚闁靛牆鎳忛崳褰掓煙绾懎鐓愰柕鍥у楠炴ḿ鎹勯崫鍕棊闂備線鈧偛鑻晶顕€鏌i鐐测偓鍨嚕鐠囨祴妲堥柕蹇娾偓鏂ュ亾閻戣姤鐓犵痪鏉垮船婢ф澘螖閺冨牊鈷掑ù锝囩摂閸ゅ啴鏌涢悩宕囧⒈缂佽京鍋炵换婵嬪磼濠婂嫭顔曢梻浣稿閸嬪懎煤濮椻偓閹繝濡烽埡鍌氣偓鐢告煥濠靛棛鍑归柟鍙夊劤闇夌痪顓㈡敱鐎氾拷
  • 闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿极閹剧粯鍋愰柛娆忓亰缁犳捇寮婚敐澶婄疀妞ゆ棁濮ゅВ鍕⒑濞茶骞栨俊顐n殜婵℃挳骞掗幋顓熷兊闂佹寧绻傞幊宥嗙珶閺囥垺鐓熼幖娣€ゅḿ鎰箾濞村娅囩紒杈╁仦缁楃喖鍩€椤掑嫭鍋樻い鏃傗拡濞笺劑鏌嶈閸撴瑩顢氶敐澶婇唶闁哄洨鍋熼娲⒑缂佹ǘ缂氶柡浣呵归悾鍨瑹閳ь剙顫忓ú顏呭殥闁靛牆鎳忛悗鍓х磽娓氬洤鏋涢柣顒冨亹閸掓帡寮崼婵堫槶婵炶揪缍€濞咃綁鏁嶅┑瀣拺閻熸瑥瀚粈鍐┿亜閺囧棗鎳愭稉宥嗘叏濡潡鍝洪柛鐘冲姈缁绘繃绻濋崒婊冾暫闂佸憡淇洪~澶嬬┍婵犲洤围闁告侗鍠栧▍銈夋⒑缂佹ɑ灏柛搴f暬瀵鏁愭径濠傚祮闂佺粯鍔栫粊鎾磻閹捐鎹舵い鎾寸☉娴滅偓鎱ㄥΟ鐓庝壕閻庢熬鎷�
  • 缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛闂佽姤蓱缁诲倿婀侀梺绋跨箰閸氬绱為幋锔界厱闁靛ǹ鍎遍埀顒€娼″濠氭晲婢跺⿴娼婇梺缁樏Ο濠偽涘畝鍕拺閺夌偞澹嗛ˇ锔戒繆椤愶絿绠炵€殿喖顭烽弫鎰緞婵犲嫮娼夐梻浣呵归張顒勬嚌閻愵剛顩锋慨妞诲亾婵﹤鎼叅閻犲洦褰冪粻鍝勵渻閵堝啫濡奸柨鏇ㄤ簻椤曪絾绻濆顓炰簻闁荤偞绋堥埀顒€鍘栨竟鏇炩攽閻愭潙鐏﹂柣鐕傜磿缁辨挸顫濇潏鈺冿紲闂佺粯蓱閸ㄦ岸骞嬮悩鍐插簥濠电偞鍨崹鍦矆閸岀偞鐓曢煫鍥ㄦ磵閹封剝淇婇銏犳殻婵﹨娅i幏鐘诲灳閾忣偆浜梻浣规偠閸ㄦ椽鎮¢敓鐘叉槬闁靛繆鍓濋崕鐔兼煏閸繃宸濋柡澶嬫倐濮婃椽宕烽鈩冾€楅梺鎼炲妿婢ф绮嬪鍡愬亝闁告劏鏅濋崢鍗炩攽閻樼粯娑ч悗姘煎墴瀹曟繈濡堕崶鈺冿紲闂佽褰冮鍥偩閻㈠憡鐓涚€光偓閳ь剟宕伴弽顓溾偓浣糕槈閵忕姴鑰垮┑掳鍊曠€氼剟顢旈鐐╂斀闁绘劘灏欐晶閬嶆煕鐎n亷宸ユい顐㈢箻閹煎湱鎲撮崟顐わ紡闂備線娼ф灙闁稿孩鐓¢幃鐢稿閵堝棌鎷洪梺鑽ゅ枑濠㈡ê鈻撻埡鍛厵闁告垯鍊栫€氾拷
  • 闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊瑜忛弳锕傛煟閵忊懚鍦玻濡ゅ懏鐓欓柟娈垮枛椤eジ鏌涚€e墎绡€鐎殿喖鐖煎畷鐓庮潩椤撶喓褰呯紓鍌欐祰缂堜即宕愰弴锛勪簷闂備焦瀵х换鍌炲箠鎼淬劌姹叉繛鍡樺姃缁诲棙銇勯幇鎯版姉妞ゅ繐鐗嗚繚闂佸湱鍎ら崺鍫濁缚閳哄懏鐓ユ繝闈涙閸gǹ顭跨憴鍕濞e洤锕俊鍫曞炊椤喓鍎甸弻娑氣偓锝庡亜婵秶鈧娲橀崹鍧楃嵁濮椻偓瀵剟濡烽敂鑺ユ緫闂傚倷鑳剁划顖氱幓鐠恒劌鍨濇い鏍ㄥ焹濡插牏鎲告惔锝嗗床婵炴垶鐭▽顏堟煕鐏炴儳鐒归柛瀣尭閳规垿宕卞▎鎰啎闂備線娼х换鍫ュ磹閺囩姷涓嶉柧蹇e亗缁诲棝鏌曢崼婵囧櫣闁哄棙鐟ч幉鎼佸级閸噮浼冨┑顔硷攻濡炰粙鐛弽顓熷€烽柟缁樺笒铻氶梻鍌欑閹诧繝宕濊箛娑樼柧婵犲﹤鐗滈弫濠囨煕閺囥劌骞樼痪鍙ョ矙閺屾稓浠﹂崜褎鍣紓浣疯兌婢ф濡甸崟顖氱睄闁逞屽墴瀹曟繂鈻庨幘璺虹ウ闂婎偄娲︾粙鎺楀疾閹间焦鐓ラ柣鏇炲€圭€氾拷
  • 闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿极閹剧粯鍋愰柛娆忓亰缁犳捇寮婚敐澶婄疀妞ゆ帊璁查弸娆忊攽閻愬瓨灏い顓犲厴瀵鎮㈤崗鐓庘偓缁樹繆椤栨粌鍔﹂柟宄邦煼濮婃椽宕ㄦ繝搴㈢暦閻庡厜鍋撶紒瀣儥濞兼牗绻涘顔荤盎闁搞劌鍊归妵鍕即閻愭潙娅i梺鍛婃尰婢瑰棛妲愰幘瀛樺缂佸顑欓弳銏ゆ⒑缁嬫鍎戦柛鐘崇墵閻涱喗寰勫畝鈧惌娆愮箾閸℃ê鍔ら柟顔藉灴濮婃椽骞栭悙鎻掑闂佸搫鎳忕换鍐嚗閸曨垰绀嬫い鏍ㄧ▓閹锋椽鏌i悩鍙夌闁逞屽墮绾绢參鍩€椤掆偓椤兘骞冨鈧幃娆戞崉閻╂帗鎸婚妵鍕棘閸喒鍋撻崷顓熷床婵犻潧鐗嗛弸鍫濐熆鐠鸿櫣鐏遍柨娑氬枛濮婅櫣绮欏▎鎯у壉缂備礁顑嗙敮鈥愁嚕閺屻儱閱囬柡鍥╁枎娴犲ジ鎮楅崗澶婁壕闂侀€炲苯澧撮柟顖氱焸楠炴ḿ绱掑Ο鐓庡箺闂備浇顫夐崕宕囧椤撱垺鍎婄€广儱顦伴悡鏇㈡煥閺冨浂鍤欐鐐搭殜閺屾稖绠涢弮鍌滅厜濠殿喖锕ュ钘夌暦瑜版帩鏁嬮柛娑卞幖婢瑰牊淇婇悙顏勨偓鏇燁殽韫囨稑绠柨鐕傛嫹
  • 您现在的位置: 军旅同心 >> 读书赏析 >> 学习园地 >> 电脑网络 >> 技术文章 >> 文章正文
    用cookies来跟踪识别用户
    作者:采集员 文章来源:来源于网络 点击数:485 更新时间:2005-9-10 14:36:17
    让我们来看看保存在浏览器中的内容。如果你用的是IE5,在windows目录下有一个cookies的目录,里面有很多文本文件,文件名都是类似于wudong@15seconds[1].txt这样的,这就是浏览器用来保存值的cookies了。在以前的IE版本中,cookies的内容是可以察看的,但现在内容已经被编码了。在浏览器得到一个Web页面之前,它会先看这个页面的域名,是否在cookie中存在,如果有相比配的,浏览器会先把匹配的cookie传送到服务器,然后才接受处理服务器传送过来的页面。
      
      先举个cookies应用的例子:当我连接到Amazon.com时,浏览器在接受第一个页面之前会把它以前设置的cookies的内容传送给Amazon。然后Amazon.com对传送过来的内容加以检查,看看在数据库中有没有相关资料,在匹配之后,在为我建立一个定制的页面传送到过来。
      为cookies赋值
      
      必须在服务器传送任何内容给客户浏览器之前为Cookies赋值。要做到这一点,cookies的设置就必须放在<HEAD>标签内:
      <?php
      setcookie("CookieID",$USERID);
      ?>
      <HTML>
      <BODY>
      </BODY>
      </HTML>
      setcookie函数一共有六个参数,用逗号来分隔:
      
      cookie的名称,是一个字符串,例如:"CookieID"。其间不允许有冒号,逗号和空格。这个参数是必须的,而其它的所有参数都是可选的。如果只有这一个参数被给出,那么这个cookie将被删除。
      
      cookie的值,通常是一个字符串变量,例如:$USERID。也可以为它赋一个??来略过值的设置。
      
      cookie失效的时间。如果被省略(或者被赋值为零),cookie将在这个对话期(session)结束后失效。这个参数可以是一个绝对的时间,用DD-Mon-YYHH:MM:SS来表示,比如:"24-Nov-9908:26:00"。而更常用的是设置一个相对时间。这是通过time()函数或者mktime函数来实现的。比如time()+3600将使得cookie在一个小时后失效。
      
      一个路径,用来匹配cookie的。当在一个服务器上有多个同名的cookie的设置,为避免混淆,就要用到这个参数了。使用"/"路径的和省略这个参数的效果是一样的。要注意的是Netscape的cookie定义是把域名放在路径的前面的,而PHP则与之相反。
      
      服务器的域名,也是用来匹配cookie的。要注意的是:在服务器的域名前必须放上一个点(.)。例如:".friendshipcenter.com"。因为除非有两个以上的点存在,否者这个参数是不能被接受的。
      
      cookie的安全级,是一个整数。1表示这个cookie只能通过“安全”的网络来传送。0或者省略则表示任何类型的网络都可以。
      
      Cookies和变量
      
      当PHP脚本从客户浏览器提取了一个cookie后,它将自动的把它转换成一个变量。例如:一个名为CookieID的cookie将变成变量$CookieID.
      
      Cookies的内容被报存在HTTP_COOKIE_VARS数组中,你还可以通过这个数组和cookie的名称来存取指定的cookie值:
      
      print$HTTP_COOKIE_VARS[CookieID];
      
      记住每一个用户
      
      回过头在来看看上面的submitform.php3文件,它的作用是把客户的姓名添加到数据库中,现在我想为它添加一些东西。我想为每个用户都分配一个唯一的用户标志,然后把这个标志放在Cookies中,这样每当用户访问我的网站的时候,通过cookie和其中的用户标志,我就能够知道他是谁了。
      
      MySQL能够被设置成为每一个新的纪录自动的分配一个数字,这个数字从1开始,以后每次自动加1。用一行SQL语句,你就可以轻松的为数据表添加这样的一个字段,我把它叫做USERID:
      ALTERTABLEdbname
      ADDCOLUMN
      USERIDINT(11)NOTNULL
      PRIMARYKEYAUTO_INCREMENT;
      
      对这个字段我们作了一些特别的设置。首先,通过“INT(11)”定义它的类型为11位的整数;然后用“NOTNULL”关键字让这个字段的值不能为NULL;再用“PRIMARYKEY”把它设置为索引字段,这样搜索起来就会更快;最后,“AUTO_INCREMENT”定义它为自动增一的字段。
      
      当把用户的姓名插入到数据库后,就应该在他们的浏览器上设置cookie了。这时利用的就是刚才我们谈到的USERID字段的值:
      
      <?php
      mysql_connect(localhost,username,password);
      mysql_select_db(dbname);
      mysql_query("INSERTINTOtablename(first_name,last_name)
      VALUES('$first_name','$last_name')
      ");
      setcookie("CookieID",
      mysql_insert_id(),
      time()+94608000,
      "/");/*三年后cookie才会失效*/
      ?>
      
      PHP函数mysql_insert_id()返回在最后一次执行了INSERT查询后,由AUTO_INCREMENT定义的字段的值。这样,只要你不清除掉浏览器的Cookies,网站就会永远“记住”你了
      
      读取cookie
      
      我们来写一个像Amazon.com所作的那样的脚本。首先,PHP脚本会先检查客户浏览器是否发送了cookie过来,如果是那样的话,用户的姓名就会被显示出来。如果没找到cookie的话,就显示一个表单,让客户登记他们的姓名,然后把他添加到数据库中,并在客户浏览其中设置好cookie。
      
      首先,先来显示cookie的内容:
      <?php
      print$CookieID;
      ?>
      然后,就可以把名字显示出来了:
      <?php
      mysql_connect(localhost,username,password);
      mysql_select_db(dbname);
      $selectresult=mysql_query("SELECT*FROMtablename
      WHEREUSERID='$CookieID'
      ");
      $row=mysql_fetch_array($selectresult);
      echo"欢迎你的光临",$row[first_name],"!";
      ?>
      就是这样的了。我在其中没有作判断,交给你自己来完成好了  



     
    免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
    文章录入:烟灰缸    责任编辑:烟灰缸 
    高级搜索
       
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 |