[ת]PHP ÖÐÇÉÓÃÊý×é½µµÍ³ÌÐòµÄʱ¼ä¸´ÔÓ¶È
PHP ÖÐÇÉÓÃÊý×é½µµÍ³ÌÐòµÄʱ¼ä¸´ÔÓ¶È
Íõ µ¤µ¤, ¸ß¼¶Èí¼þ¹¤³Ìʦ, IBM
2009 Äê 11 ÔÂ 26 ÈÕ
±¾ÎÄÖ÷ÒªÊǽéÉÜÔÚ PHP µÄ±à³ÌÖУ¬ÈçºÎÇÉÓÃÊý×éÀ´½µµÍÒò¶à²ãÑ»·¶øÒýÆðµÄʱ¼ä¸´ÔӶȵÄÎÊÌâ¡£ÌØ±ðÊǵ±³ÌÐòÐèÒª¶à´ÎÓëÊý¾Ý¿â½»»¥Ê±£¬Óô˷½·¨À´ÓÅ»¯ÄãµÄ´úÂ룬½«»á´ø¸øÒâÏë²»µ½µÄЧ¹û¡£
ͨ³£¿ª·¢ÈËÔ±ÔÚд³ÌÐòµÄʱºò£¬ÍùÍùÊǰÑÒѾÉè¼ÆºÃ»òÕß¹¹Ë¼ºÃµÄÔËËãÂß¼£¬Ö±½ÓÓñà³ÌÓïÑÔ·Òë³öÀ´¡£³ÌÐòÄÜ˳Àû±àÒëͨ¹ý£¬ÄÇÊǺÜÁîÈ˸ßÐ˵ÄÊÂÇé¡£Èç¹û´Ëʱ³ÌÐòµÄÔËÐÐʱ¼ä»¹ÄܽÓÊÜ£¬¾Í»á³Á½þÔÚд´úÂëµÄ³É¾Í¸Ðµ±ÖУ¬³£³£ÔÚÕâ¸ö¹ý³ÌÖкöÂÔ´úÂëµÄÓÅ»¯¡£Ö»Óе±³ÌÐòÔËÐÐËÙ¶ÈÊܵ½Ó°Ïìʱ£¬²Å»Ø¹ýÍ·È¥¿¼ÂÇÓÅ»¯µÄÊÂÇé¡£
ʲôÊÇËã·¨µÄʱ¼ä¸´ÔÓ¶È
ʱ¼ä¸´ÔÓ¶ÈÊÇ¿ª·¢ÈËÔ±ÓÃÀ´ºâÁ¿Ó¦ÓóÌÐòËã·¨ÓÅÁÓµÄÖ÷ÒªÒòËØ¡£¿Í¹ÛµØËµ£¬Ëã·¨µÄÓÅÁÓ³ýÁ˺Íʱ¼ä¸´ÔÓ¶ÈÓйأ¬»¹Óë¿Õ¼ä¸´ÔÓ¶ÈÃÜÇÐÏà¹Ø¡£¶øËæ×ÅÉ豸Ӳ¼þÅäÖõIJ»¶ÏÌáÉý£¬¶ÔÖÐСÐÍÓ¦ÓóÌÐòÀ´Ëµ£¬¶ÔËã·¨µÄ¿Õ¼ä¸´ÔӶȵÄÒªÇóÒ²¿íËÉÁ˲»ÉÙ¡£²»¹ý£¬ÔÚµ±½ñ Web2.0 ʱ´ú£¬¶ÔÓ¦ÓóÌÐòµÄʱ¼ä¸´ÔÓ¶ÈÈ´ÓÐÁ˸ü¸ßµÄÒªÇó¡£
ʲôÊÇËã·¨µÄʱ¼ä¸´ÔÓ¶ÈÄØ£¿¸ÅÒªÀ´Ëµ£¬ÊÇÖ¸´ÓËã·¨ÖÐѡȡһ¸öÄÜ´ú±íËã·¨µÄÔ²Ù×÷£¬ÒÔÔ²Ù×÷ÖØ¸´Ö´ÐеĴÎÊý×÷ΪËã·¨µÄʱ¼äÁ¿¶È¡£Ó°Ïìʱ¼ä¸´ÔӶȵÄÒòËØÓÐÁ½¸ö£ºÒ»ÊÇÔ²Ù×÷µÄÖ´ÐÐʱ¼ä£¬¶þÊÇÔ²Ù×÷Òò¿ØÖƽṹÒýÆðµÄÖ´ÐдÎÊý¡£Òª°ÑËã·¨µÄʱ¼ä¸´ÔӶȽµÏÂÀ´£¬½µµÍÔ²Ù×÷µÄÖ´ÐдÎÊýÊǽÏΪÈÝÒ׵ķ½·¨£¬Ò²ÊÇÖ÷Òª·½·¨¡£±¾ÎÄËù½²ÊöµÄ·½·¨£¬ÊÇͨ¹ýÇÉÓà PHP µÄÊý×飬½µµÍÔ²Ù×÷µÄÖ´ÐдÎÊý£¬´Ó¶ø´ïµ½½µµÍË㷨ʱ¼ä¸´ÔӶȵÄÐèÇ󣬺ʹó¼Ò·ÖÏí¡£
Ëã·¨µÄʱ¼äÁ¿¶È¼Ç×÷ T(n)=O(f(n))£¬Ëü±íʾËã·¨Öлù±¾²Ù×÷ÖØ¸´Ö´ÐеĴÎÊýÊÇÎÊÌâ¹æÄ£ n µÄij¸öº¯Êý f(n)£¬Ò²¾ÍÊÇËµËæ×ÅÎÊÌâ¹æÄ£ n µÄÔö´ó£¬Ëã·¨Ö´ÐÐʱ¼äµÄÔö³¤ÂÊºÍ f(n) µÄÔö³¤ÂÊÏàͬ¡£¶àÊýÇé¿öÏ£¬ÎÒÃǰÑ×îÉî²ãÑ»·ÄÚµÄÓï¾ä×÷ΪԲÙ×÷À´ÌÖÂÛËã·¨µÄʱ¼ä¸´ÔÓ¶È£¬ÒòΪËüµÄÖ´ÐдÎÊýºÍ°üº¬ËüµÄÓï¾äµÄƵ¶ÈÏàͬ¡£Ò»°ãÇé¿öÏ£¬¶ÔÒ»¸öÎÊÌâÖ»ÐèÑ¡ÔñÒ»ÖÖ»ù±¾²Ù×÷À´ÌÖÂÛËã·¨µÄʱ¼ä¸´ÔӶȼ´¿É¡£ÓÐʱҲÐèҪͬʱ¿¼ÂǶàÖÖ»ù±¾²Ù×÷¡£
ÔÚ Web ¿ª·¢ÖУ¬Í¨³£Ò»¸ö¹¦ÄܵÄÖ´ÐÐʱ¼ä»òÏìӦʱ¼ä£¬²»½ö½ö¸ú·þÎñÆ÷µÄÏìÓ¦ÄÜÁ¦¡¢´¦ÀíÄÜÁ¦Óйأ¬»¹Éæ¼°µÚÈý·½¹¤¾ßµÄ½»»¥Ê±¼ä£¬Èç¶ÔÊý¾Ý¿âµÄÁ´½Óʱ¼äºÍ¶ÔÊý¾Ý½øÐдæÈ¡µÄʱ¼ä¡£Òò¶øÔÚÑ¡¶¨Ô²Ù×÷ÊÇ£¬ÐèÒª×ۺϿ¼ÂÇÓ¦ÓóÌÐò¸÷·½ÃæµÄÒòËØ£¬ÒÔ×î´óÓ°Ïì³ÌÐòÖ´ÐÐʱ¼äµÄ²Ù×÷ΪԲÙ×÷£¬À´ºâÁ¿Ëã·¨µÄʱ¼ä¸´ÔÓ¶È¡£Ò²¾ÍÊÇ˵£¬ÐèÒª³ÌÐòÔ±ÔÚ±àд´úÂëµÄʱºò£¬¶ÔÖØÒª²Ù×÷µÄÖ´ÐÐʱ¼äÄÜÓлù±¾µÄÈÏʶ¡£
»ØÒ³Ê×
³£¼û³ÌÐòÖÐ
Ïà¹ØÎĵµ£º
PHPµÄ·¢Õ¹
PHP Ô±¾µÄ¼ò³ÆÎª Personal Home Page£¬ÊÇRasmus Lerdorf ΪÁËҪά»¤¸öÈËÍøÒ³£¬¶øÓÃcÓïÑÔ¿ª·¢µÄһЩCGI¹¤¾ß³ÌÐò¼¯£¬À´È¡´úÔÏÈʹÓÃµÄ Perl ³ÌÐò¡£×î³õÕâЩ¹¤¾ß³ÌÐòÓÃÀ´ÏÔʾ Rasmus Lerdorf µÄ¸öÈËÂÄÀú£¬ÒÔ¼°Í³¼ÆÍøÒ³Á÷Á¿¡£Ëû½«ÕâЩ³ÌÐòºÍһЩ±íµ¥Ö±ÒëÆ÷ÕûºÏÆðÀ´£¬³ÆÎª PHP ......
cookieĬÈϲ»ÄÜ´æÊý×飬ËùÒÔÏÂÃæµÄд·¨ÊÇ´íÎóµÄ¡£
<?php
$arr = array(1,2,3);
setcookie('a',$arr);
$arr = array(1,2,3);
setcookie('a',$arr);
?>
±¨´íÈçÏ£º
Warning: setcookie() expects parameter 2 to be string, array given in
µ«ÊÇPHP¿ÉÒÔ°ÑͬÃûÇÒºóÃæÒÔ[]½áβµÄcookie½âÎöΪÊý×é¡£ÔÚ ......
·þÎñÆ÷±äÁ¿ $_SERVER Ïê½â£º
1¡¢$_SESSION['PHP_SELF'] -- »ñÈ¡µ±Ç°ÕýÔÚÖ´Ðнű¾µÄÎļþÃû
2¡¢$_SERVER['SERVER_PROTOCOL'] -- ÇëÇóÒ³ÃæÊ±Í¨ÐÅÐÒéµÄÃû³ÆºÍ°æ±¾¡£ÀýÈ磬“HTTP/1.0”¡£
3¡¢$_SERVER['REQUEST_TIME'] -- ÇëÇó¿ªÊ¼Ê±µÄʱ¼ä´Á¡£´Ó PHP 5.1.0 ÆðÓÐЧ¡£ºÍtimeº¯ÊýЧ¹ûÒ»Ñù¡£
4¡¢$_SERVER['argv'] - ......
PHP ÖÐÇÉÓÃÊý×é½µµÍ³ÌÐòµÄʱ¼ä¸´ÔÓ¶È
±¾ÎÄÖ÷ÒªÊǽéÉÜÔÚ PHP µÄ±à³ÌÖУ¬ÈçºÎÇÉÓÃÊý×éÀ´½µµÍÒò¶à²ãÑ»·¶øÒýÆðµÄʱ¼ä¸´ÔӶȵÄÎÊÌâ¡£ÌØ±ðÊǵ±³ÌÐòÐèÒª¶à´ÎÓëÊý¾Ý¿â½»»¥Ê±£¬Óô˷½·¨À´ÓÅ»¯ÄãµÄ´úÂ룬½«»á´ø¸øÒâÏë²»µ½µÄЧ¹û¡£
ͨ³£¿ª·¢ÈËÔ±ÔÚд³ÌÐòµÄʱºò£¬ÍùÍùÊǰÑÒѾÉè¼ÆºÃ»òÕß¹¹Ë¼ºÃµÄÔËËãÂß¼£ ......
BUGTRAQ ID: 36555
CVE ID: CVE-2009-3557
PHPÊǹ㷺ʹÓõÄͨÓÃÄ¿µÄ½Å±¾ÓïÑÔ£¬ÌرðÊʺÏÓÚWeb¿ª·¢£¬¿ÉǶÈëµ½HTMLÖС£
PHPµÄtempnam()ÖеĴíÎó¿ÉÄÜÔÊÐíÈÆ¹ýsafe_modeÏÞÖÆ¡£ÒÔÏÂÊÇext/standard/file.cÖеÄÓЩ¶´´úÂë¶Î£º
PHP_FUNCTION(tempnam)
{
char *dir, *prefix;
int dir_len, prefix_len;
size_t p_len;
char ......