⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000016.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 2 页
字号:
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Take&nbsp;a&nbsp;($ticket)&nbsp;string&nbsp;generated&nbsp;by&nbsp;makeauth(),&nbsp;and&nbsp;a&nbsp;($time),&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;and&nbsp;verify&nbsp;that&nbsp;the&nbsp;ticket&nbsp;is&nbsp;valid&nbsp;and&nbsp;not&nbsp;expired.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;If&nbsp;($time)&nbsp;is&nbsp;0,&nbsp;the&nbsp;current&nbsp;time&nbsp;will&nbsp;be&nbsp;used.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;On&nbsp;error,&nbsp;the&nbsp;function&nbsp;returns&nbsp;the&nbsp;empty&nbsp;string&nbsp;&quot;&quot;,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$authenticated&nbsp;is&nbsp;0,&nbsp;and&nbsp;$autherr&nbsp;contains&nbsp;the&nbsp;reason&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;the&nbsp;authentication&nbsp;failed.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;On&nbsp;success,&nbsp;the&nbsp;identity&nbsp;encoded&nbsp;in&nbsp;the&nbsp;ticket&nbsp;is&nbsp;returned,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;$authenticated&nbsp;is&nbsp;non-zero,&nbsp;and&nbsp;$autherr&nbsp;is&nbsp;to&nbsp;be&nbsp;ignored.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;checkauth($ticket,&nbsp;$time)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;$REMOTE_ADDR;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;zerodata();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($time&nbsp;==&nbsp;0)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$time&nbsp;=&nbsp;time();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Item&nbsp;order:&nbsp;&nbsp;hash&nbsp;time&nbsp;realm&nbsp;remote_addr&nbsp;identity&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ticket_items&nbsp;=&nbsp;explode(&nbsp;&quot;:&quot;,&nbsp;$ticket);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;if&nbsp;the&nbsp;remote&nbsp;address&nbsp;doesn't&nbsp;match&nbsp;the&nbsp;one&nbsp;in&nbsp;the&nbsp;ticket,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;drop&nbsp;them.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($ticket_items[3]&nbsp;!=&nbsp;$REMOTE_ADDR)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;autherr&nbsp;=&nbsp;&nbsp;&quot;Address&nbsp;mismatch&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&quot;&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;if&nbsp;we&nbsp;are&nbsp;supposed&nbsp;to&nbsp;check&nbsp;for&nbsp;expired&nbsp;tickets,&nbsp;do&nbsp;that&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;here.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($this-&gt;lifetime&nbsp;!=&nbsp;0)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($time&nbsp;&gt;&nbsp;(int)$ticket_items[1]&nbsp;+&nbsp;$this-&gt;lifetime)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;autherr&nbsp;=&nbsp;&nbsp;&quot;Ticket&nbsp;expired&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&quot;&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;make&nbsp;certain&nbsp;that&nbsp;the&nbsp;ticket&nbsp;is&nbsp;not&nbsp;being&nbsp;used&nbsp;before&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;it&nbsp;was&nbsp;issued.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($time&nbsp;&lt;&nbsp;(int)$ticket_items[1])&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;autherr&nbsp;=&nbsp;&nbsp;&quot;Ticket&nbsp;used&nbsp;before&nbsp;issued&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&quot;&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;verify&nbsp;that&nbsp;the&nbsp;realms&nbsp;match&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($this-&gt;realm&nbsp;!=&nbsp;$ticket_items[2])&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;autherr&nbsp;=&nbsp;&nbsp;&quot;Realm&nbsp;mismatch&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&quot;&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;This&nbsp;could&nbsp;be&nbsp;done&nbsp;better...&nbsp;&nbsp;Reassemble&nbsp;the&nbsp;components&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;of&nbsp;the&nbsp;ticket&nbsp;passed&nbsp;to&nbsp;us,&nbsp;and&nbsp;rehash.&nbsp;&nbsp;Compare&nbsp;this&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;to&nbsp;the&nbsp;hash&nbsp;we&nbsp;were&nbsp;sent.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp_items[]&nbsp;=&nbsp;$ticket_items[1];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp_items[]&nbsp;=&nbsp;$ticket_items[2];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp_items[]&nbsp;=&nbsp;$ticket_items[3];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp_items[]&nbsp;=&nbsp;$ticket_items[4];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tmp_ticket&nbsp;=&nbsp;implode($tmp_items,&nbsp;&nbsp;&quot;:&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$hash&nbsp;=&nbsp;md5($this-&gt;secret&nbsp;.&nbsp;$tmp_ticket);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($hash&nbsp;!=&nbsp;$ticket_items[0])&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;autherr&nbsp;=&nbsp;&nbsp;&quot;Integrity&nbsp;check&nbsp;failed&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&quot;&quot;;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;well,&nbsp;it&nbsp;all&nbsp;checks&nbsp;out.&nbsp;&nbsp;Might&nbsp;as&nbsp;well&nbsp;claim&nbsp;we&nbsp;know&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;who&nbsp;this&nbsp;person&nbsp;is.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;hash&nbsp;=&nbsp;$hash;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;issue&nbsp;=&nbsp;$ticket_items[1];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;remote_addr&nbsp;=&nbsp;$ticket_items[3];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;identity&nbsp;=&nbsp;$ticket_items[4];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;authenticated&nbsp;=&nbsp;1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$this-&gt;identity;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>};&nbsp;<BR>?&gt;&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>&nbsp;<BR>人生到处知何似?&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;应似飞鸿踏雪泥。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;泥上偶然留指爪,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鸿飞那复计东西!&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;162.105.37.191]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -