ThinkPHPÔÙ±¬¸ßΣ·ì϶ GA»Æ½ð¼×Ìṩ½â¾ö¹æ»®
°ä²¼¹¦·ò 2019-01-132019Äê1ÔÂ11ÈÕ¹Ù·½½¨¸´ÁËÒ»´¦ÑϳÁµÄ·ì϶£¬¸Ã·ì϶¿Éµ¼ÖÂÔ¶³ÌºÅÁî´úÂëÖ´ÐС£
·ì϶ӰÏì°æ±¾£º
5.0.x-5.0.23
·ì϶·ÖÎö£º
·ìÏ¶ÖØÒª³Ê´Ë¿ÌThinkPHPRequestÀàµÄmethod²½ÖèÖУ¬(thinkphp/library/think/Request.php)
RequestÀàÄܹ»ÊµÏÖ¶ÔHTTPÒªÇóµÄһЩÉèÖã¬ÆäÖгÉÔ±²½ÖèmethodÓÃÀ´»ñÈ¡µ±Ç°ÒªÇóÀàÐÍ£¬Æä½ç˵ÈçÏ£º
thinkphpÖ§³ÖÅäÖá°±íµ¥¼Ù×°±äÁ¿¡±£¬Ä¬ÈÏÇé¿öϸñäÁ¿ÖµÎª_method£¬Äܹ»Í¨¹ý¡°±íµ¥¼Ù×°±äÁ¿¡±½øÐбäÁ¿¸²¸ÇʵÏÖ¶Ô¸ÃÀàËÁÒ⺯ÊýµÄŲÓ㬲¢ÇÒ$_POST×÷Ϊº¯ÊýµÄ²ÎÊý´«Èë¡£
Requset»ú¹Øº¯ÊýÈçÏ£º
Òò¶øÄܹ»Í¨¹ý»ú¹Øº¯ÊýʵÏÖ¶ÔRequestÀàÊôÐÔ½øÐи²¸Ç£¬ÈçfilterÊôÐÔ¡£»ú¹ØÈçÏÂpayloadʵÏÖÔ¶³Ì´úÂëÖ´ÐУº
Ô¶³Ì´úÂë×îÖÕÊÇÔÚfilterValueÖеÄcall_user_func()Ö´ÐУº
ÔÚ¹ÙÍøÏÂÔØµÄ5.0.23ÆëÈ«°æÖУ¬ÔÚAppÀࣨthinkphp/library/think/App.php£©ÖÐmodule²½ÖèÔö³¤ÁËÉèÖÃfilter²ÎÊýÖµµÄ´úÂ룬ÓÃÓÚ³õʼ»¯filter¡£Òò¶øÍ¨¹ýÉÏÊöÒªÇóÉèÖõÄfilter²ÎÊýÖµ»á±»³Áи²¸ÇΪ¿Õµ¼ÖÂÎÞ·¨ÀûÓá£
ÔÚ5.0.23 RequestÀàÖÐÓиöparam³ÉÔ±º¯ÊýÓÃÓÚ»ñÈ¡µ±Ç°ÒªÇóµÄ²ÎÊý£¬Ò²Óиömethodº¯Êý£º
µ±´«ÈëÊýֵΪtrueʱ£º
¸ú½øµ½server²½Ö裬²ÎÊý$nameΪREQUEST_METHOD
$dataΪÉÏÒ»²½µÄREQUEST_METHOD£º
ÒªÏë´¥·¢Å²ÓÃparam()£¬Ö»ÓпªÆôÁËdebugģʽ¼´¿É£º
¹Ê»ú¹ØpayloadÈçÏ£º
Ç°Ãæ·ÖÎö¿ÉÖª£¬ÎÒÃDZØÒª´¥·¢RequestÀàÖеÄparamº¯ÊýÀ´ÊµÏÖfilterµÄ¸²¸Ç£¬ÔÚAppÀàÖÐexec()²½ÖèÖе±$dispatch[¡®type¡¯]Ϊcontroller ºÍmethodʱÓÐÖ±½ÓµÄŲÓãº
¶øurlÖÐsµÄֵʵÏÖÉèÖÃ·ÖÆçµÄ$method£¬×îÖÕÈÃrouteCheck·µ»ØÎÒÃDZØÒªµÄ$dispath¼´¿É¡£ÀýÈç»ú¹ØÈçÏÂpayload£¬ÎÞÐèdebugģʽ¿ªÆôÒ²¿ÉʵÏÖÔ¶³Ì´úÂëÖ´ÐУº
½â¾ö¹æ»®£º
Ò»¡¢¹Ù·½½¨Ò飺
ÊÜÓ°ÏìµÄÓû§¿É½«5.0.xÉý¼¶µ½5.0.24£¬¹Ù·½ÏÖÒÑÍÆ³ö²¹¶¡£¬½¨Ò鿪·¢Õß½øÐн¨¸´£º
ÒѲ¿ÊðGA»Æ½ð¼×IDS¡¢IPS¡¢WAF²úÆ·µÄ¿Í»§ÇëÈ·ÈÏÈçÏÂÊÂÎñ¹æ¶¨ÒѾÏ·¢²¢ÀûÓ㬼´¿ÉÓÐЧ¼ì²â»ò×è¶Ï¹¥»÷£ºHTTP_ThinkPHP5.0È«°æ±¾Ô¶³Ì´úÂëÖ´Ðзì϶
£¨1£©ÌìãÙÈëÇÖ¼ì²âÓëÖÎÀíϵͳ±¨¾¯½ØÍ¼£º
£¨2£©ÌìÇåÈëÇÖ·ÀÓùϵͳ±¨¾¯½ØÍ¼£º
£¨3£©ÌìÇåWebÀûÓð²È«Íø¹Ø±¨¾¯½ØÍ¼£º



¾©¹«Íø°²±¸11010802024551ºÅ