ThinkPHPÔÙ±¬¸ßΣ©¶´ ¶«É­Æ½Ì¨Ìṩ½â¾ö·½°¸

Ðû²¼Ê±¼ä 2019-01-13
ThinkPHPÊÇÒ»¸ö¿ìËÙ¡¢¼æÈݶøÇÒ¼òµ¥µÄÇáÁ¿¼¶¹ú²úPHP¿ª·¢¿ò¼Ü£¬µ®ÉúÓÚ2006Äê³õ£¬Ô­ÃûFCS£¬2007ÄêÔªµ©Õýʽ¸üÃûΪThinkPHP£¬×ñÑ­Apache2¿ªÔ´Ð­ÒéÐû²¼£¬Ê¹ÓÃÃæÏò¹¤¾ßµÄ¿ª·¢½á¹¹ºÍMVCģʽ£¬ÈÚºÏÁËStrutsµÄ˼ÏëºÍTagLib£¨±êÇ©¿â£©¡¢RoRµÄORMÓ³ÉäºÍActiveRecordģʽ,¸Ã¿ò¼Ü¹úÄÚÓ¦Ó÷dz£¹ã·º¡£

2019Äê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ÈçÏ£º

¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾

Ç°Ãæ·ÖÎö¿ÉÖª£¬ÎÒÃÇÐèÒª´¥·¢RequestÀàÖеÄparamº¯ÊýÀ´Íê³ÉfilterµÄÁýÕÖ£¬ÔÚAppÀàÖÐexec()ÒªÁìÖе±$dispatch[¡®type¡¯]Ϊcontroller ºÍmethodʱÓÐÖ±½ÓµÄµ÷Óãº

¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾

¶øurlÖÐsµÄÖµÍê³ÉÉèÖòîÒìµÄ$method£¬×îÖÕÈÃrouteCheck·µ»ØÎÒÃÇÐèÒªµÄ$dispath¼´¿É¡£ÀýÈç½á¹¹ÈçÏÂpayload£¬ÎÞÐèdebugģʽ¿ªÆôÒ²¿ÉʵÏÖÔ¶³Ì´úÂëÖ´ÐУº

¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾

 ½â¾ö·½°¸£º

Ò»¡¢¹Ù·½½¨Ò飺

    ÊÜÓ°ÏìµÄÓû§¿É½«5.0.xÉý¼¶µ½5.0.24£¬¹Ù·½ÏÖÒÑÍÆ³ö²¹¶¡£¬½¨Ò鿪·¢Õß½øÐÐÐÞ¸´£º
 
¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾



¶þ¡¢²úÎï¼ì²âÓë·À»¤£º

ÒѲ¿Êð¶«É­Æ½Ì¨IDS¡¢IPS¡¢WAF²úÎïµÄ¿Í»§ÇëÈ·ÈÏÈçÏÂʼþ¹æÔòÒѾ­Ï·¢²¢Ó¦Ó㬼´¿ÉÓÐЧ¼ì²â»ò×è¶Ï¹¥»÷£ºHTTP_ThinkPHP5.0È«°æ±¾Ô¶³Ì´úÂëÖ´ÐЩ¶´

£¨1£©ÌìãÙÈëÇÖ¼ì²âÓë¹ÜÀíϵͳ±¨¾¯½ØÍ¼£º

¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾

£¨2£©ÌìÇåÈëÇÖ·ÀÓùϵͳ±¨¾¯½ØÍ¼£º

¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾

£¨3£©ÌìÇåWebÓ¦ÓÃÄþ¾²Íø¹Ø±¨¾¯½ØÍ¼£º


¶«É­¡¤(ÖйúÇø)¹Ù·½ÍøÕ¾