w3pop.com :: ÍøÂçѧԺ :: PHP :: PHP ·ÀÖ¹Óû§²Ù×Ý GET ±äÁ¿
ÔÚǰһ½ÚÖУ¬·ÀÖ¹ÁËÓû§Ê¹ÓûûÐεÄÃÜÂë½øÐеǼ¡£Èç¹ûÄúºÜ´ÏÃ÷£¬Ó¦¸ÃÓ¦ÓÃÄúѧµ½µÄ·½·¨£¬È·±£¶Ô SQL Óï¾äµÄËùÓÐÓû§ÊäÈë½øÐÐתÒå¡£
µ«ÊÇ£¬Óû§ÏÖÔÚÒѾ°²È«µØµÇ¼ÁË¡£Óû§ÓµÓÐÓÐЧµÄÃÜÂ룬²¢²»Òâζ×ÅËû½«°´ÕÕ¹æÔòÐÐÊ —— ËûÓкܶà»ú»áÄܹ»Ôì³ÉË𺦡£ÀýÈ磬ӦÓóÌÐò¿ÉÄÜÔÊÐíÓû§²é¿´ÌØÊâµÄÄÚÈÝ¡£ËùÓÐÁ´½ÓÖ¸Ïò template.php?pid=33 »ò template.php?pid=321 ÕâÑùµÄλÖá£URL ÖÐÎʺźóÃæµÄ²¿·Ö³ÆÎª²éѯ×Ö·û´®¡£ÒòΪ²éѯ×Ö·û´®Ö±½Ó·ÅÔÚ URL ÖУ¬ËùÒÔÒ²³ÆÎª GET ²éѯ×Ö·û´®¡£
ÔÚ PHP ÖУ¬Èç¹û½ûÓÃÁË register_globals£¬ÄÇô¿ÉÒÔÓà $_GET['pid'] ·ÃÎÊÕâ¸ö×Ö·û´®¡£ÔÚ template.php Ò³ÃæÖУ¬¿ÉÄÜ»áÖ´ÐÐÓëÇåµ¥ 8 ÏàËÆµÄ²Ù×÷¡£
Çåµ¥ 8. ʾÀý template.php
|
ÕâÀïÓÐʲô´íÂð£¿Ê×ÏÈ£¬ÕâÀïÒþº¬µØÏàÐÅÀ´×Ôä¯ÀÀÆ÷µÄ GET ±äÁ¿ pid Êǰ²È«µÄ¡£Õâ»áÔõôÑùÄØ£¿´ó¶àÊýÓû§Ã»ÄÇô´ÏÃ÷£¬ÎÞ·¨¹¹Ôì³öÓïÒå¹¥»÷¡£µ«ÊÇ£¬Èç¹ûËûÃÇ×¢Òâµ½ä¯ÀÀÆ÷µÄ URL λÖÃÓòÖÐµÄ pid=33£¬¾Í¿ÉÄÜ¿ªÊ¼µ·ÂÒ¡£Èç¹ûËûÃÇÊäÈëÁíÒ»¸öÊý×Ö£¬ÄÇô¿ÉÄÜûÎÊÌ⣻µ«ÊÇÈç¹ûÊäÈë±ðµÄ¶«Î÷£¬±ÈÈçÊäÈë SQL ÃüÁî»òij¸öÎļþµÄÃû³Æ£¨±ÈÈç /etc/passwd£©£¬»òÕ߸ã±ðµÄ¶ñ×÷¾ç£¬±ÈÈçÊäÈ볤´ï 3,000 ¸ö×Ö·ûµÄÊýÖµ£¬ÄÇô»á·¢ÉúÊ²Ã´ÄØ£¿
ÔÚÕâÖÖÇé¿öÏ£¬Òª¼Çס»ù±¾¹æÔò£¬²»ÒªÐÅÈÎÓû§ÊäÈë¡£Ó¦ÓóÌÐò¿ª·¢ÈËÔ±ÖªµÀ template.php ½ÓÊܵĸöÈ˱êʶ·û£¨PID£©Ó¦¸ÃÊÇÊý×Ö£¬ËùÒÔ¿ÉÒÔʹÓà PHP µÄ is_numeric() º¯ÊýÈ·±£²»½ÓÊÜ·ÇÊý×ÖµÄ PID£¬ÈçÏÂËùʾ£º
Çåµ¥ 9. ʹÓà is_numeric() À´ÏÞÖÆ GET ±äÁ¿
|
Õâ¸ö·½·¨ËƺõÊÇÓÐЧµÄ£¬µ«ÊÇÒÔÏÂÕâЩÊäÈë¶¼Äܹ»ÇáËɵØÍ¨¹ý is_numeric() µÄ¼ì²é£º
ÄÇô£¬Óа²È«ÒâʶµÄ PHP ¿ª·¢ÈËÔ±Ó¦¸ÃÔõô×öÄØ£¿¶àÄêµÄ¾Ñé±íÃ÷£¬×îºÃµÄ×ö·¨ÊÇʹÓÃÕýÔò±í´ïʽÀ´È·±£Õû¸ö GET ±äÁ¿ÓÉÊý×Ö×é³É£¬ÈçÏÂËùʾ£º
Çåµ¥ 10. ʹÓÃÕýÔò±í´ïʽÏÞÖÆ GET ±äÁ¿
|
ÐèÒª×öµÄÖ»ÊÇʹÓà strlen() ¼ì²é±äÁ¿µÄ³¤¶ÈÊÇ·ñ·ÇÁ㣻Èç¹ûÊÇ£¬¾ÍʹÓÃÒ»¸öÈ«Êý×ÖÕýÔò±í´ïʽÀ´È·±£Êý¾ÝÔªËØÊÇÓÐЧµÄ¡£Èç¹û PID °üº¬×Öĸ¡¢Ð±Ïß¡¢µãºÅ»òÈκÎÓëÊ®Áù½øÖÆÏàËÆµÄÄÚÈÝ£¬ÄÇôÕâ¸öÀý³Ì²¶»ñËü²¢½«Ò³Ãæ´ÓÓû§»î¶¯ÖÐÆÁ±Î¡£Èç¹û¿´Ò»Ï Page ÀàÄ»ºóµÄÇé¿ö£¬¾Í»á¿´µ½Óа²È«ÒâʶµÄ PHP ¿ª·¢ÈËÔ±ÒѾ¶ÔÓû§ÊäÈë $pid ½øÐÐÁËתÒ壬´Ó¶ø±£»¤ÁË fetchPage() ·½·¨£¬ÈçÏÂËùʾ£º
Çåµ¥ 11. ¶Ô fetchPage() ·½·¨½øÐÐתÒå
|
Äú¿ÉÄÜ»áÎÊ£¬“¼ÈÈ»ÒѾȷ±£ PID ÊÇÊý×Ö£¬ÄÇôΪʲô»¹Òª½øÐÐתÒ壿” ÒòΪ²»ÖªµÀÔÚ¶àÉÙ²»Í¬µÄÉÏÏÂÎĺÍÇé¿öÖлáʹÓà fetchPage() ·½·¨¡£±ØÐëÔÚµ÷ÓÃÕâ¸ö·½·¨µÄËùÓеط½½øÐб£»¤£¬¶ø·½·¨ÖеÄתÒåÌåÏÖÁË×ÝÉî·ÀÓùµÄÒâÒå¡£
Èç¹ûÓû§³¢ÊÔÊäÈë·Ç³£³¤µÄÊýÖµ£¬±ÈÈ糤´ï 1000 ¸ö×Ö·û£¬ÊÔͼ·¢Æð»º³åÇøÒç³ö¹¥»÷£¬ÄÇô»á·¢ÉúÊ²Ã´ÄØ£¿ÏÂÒ»½Ú¸üÏêϸµØÌÖÂÛÕâ¸öÎÊÌ⣬µ«ÊÇĿǰ¿ÉÒÔÌí¼ÓÁíÒ»¸ö¼ì²é£¬È·±£ÊäÈëµÄ PID ¾ßÓÐÕýÈ·µÄ³¤¶È¡£ÄúÖªµÀÊý¾Ý¿âµÄ pid ×ֶεÄ×î´ó³¤¶ÈÊÇ 5 룬ËùÒÔ¿ÉÒÔÌí¼ÓÏÂÃæµÄ¼ì²é¡£
Çåµ¥ 12. ʹÓÃÕýÔò±í´ïʽºÍ³¤¶È¼ì²éÀ´ÏÞÖÆ GET ±äÁ¿
|
ÏÖÔÚ£¬ÈκÎÈ˶¼ÎÞ·¨ÔÚÊý¾Ý¿âÓ¦ÓóÌÐòÖÐÈû½øÒ»¸ö 5,000 λµÄÊýÖµ —— ÖÁÉÙÔÚÉæ¼° GET ×Ö·û´®µÄµØ·½²»»áÓÐÕâÖÖÇé¿ö¡£ÏëÏñһϺڿÍÔÚÊÔÍ¼Í»ÆÆÄúµÄÓ¦ÓóÌÐò¶øÔâµ½´ìÕÛʱҧÑÀÇгݵÄÑù×Ó°É£¡¶øÇÒÒòΪ¹Ø±ÕÁË´íÎ󱨸棬ºÚ¿Í¸üÄѽøÐÐÕì²ì¡£
ÆÀÂÛ (0)
All