æ¿ããã«ãªã¹ãªã¯ãšã¹ãã¯ããµãŒããŒãšãã©ã³ã¹ããŒããã£ãã«ã«å€§ããªè² è·ãããããµã€ãã®é床ãå€§å¹ ã«äœäžãããŸãã ã¹ãã£ã³ã®å©ããåããŠããµã€ããŒç¯çœªè ã¯ãµã€ãã®ã³ã³ãã³ããã³ããŒãããã®ä¿è·ã®åŒ±ç¹ãç¹å®ããããªãã®æ害ãåŒãèµ·ãããŸãã ããã«ãã¯ããŒã«äžã«è¡ããããµã€ãèŠæ±ãããã©ãŒãã³ã¹ã«æªåœ±é¿ãåãŒããŸãã ã»ãšãã©ã®å Žåããµã€ãã®åäœãé ããšããåé¡ã¯ããã©ãã£ãã¯ã®å€ã倧èŠæš¡ãªããŒã¿ã«ã«é¢ä¿ããŠããŸãã ãã ãããã©ãã£ãã¯ãå°ãªãå Žåã§ãããµã€ãã¯é«ããã©ãã£ãã¯ã«ãããããå¯èœæ§ããããããå°èŠæš¡ãµã€ãã«åœ±é¿ãäžããå¯èœæ§ããããŸãã é«è² è·ã¯ããµã€ããåžžã«ã¯ããŒã«ããããŸããŸãªããããã«ãã£ãŠäœæãããŸãã åæã«ããµã€ãã®é床ãå€§å¹ ã«äœäžãããããŸã£ããå©çšã§ããªãå ŽåããããŸãã
ãµã€ã㯠ãããã°ã©ã ããµãŒãããŒãã£ã®ãµã€ãããŸãã¯æåã§ã¹ãã£ã³ãããŸãã ããã«ãããçæéã§å€§éã®ãªã¯ãšã¹ããäœæãããŸãã ãµã€ãã¹ãã£ã³ã¯ãã»ãšãã©ã®å Žåãè匱æ§ã®æ€çŽ¢ããµã€ãã³ã³ãã³ãã®ã³ããŒã«äœ¿çšãããŸãã
ãµã€ããã¹ãã£ã³ããä¿è·ããããã®ããªãå¹æçãªæ段ã¯ããµã€ããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹æš©ã®å¶éã§ãã ãµã€ãã®æ§é ã«é¢ããæ å ±ã¯ãApacheã¢ãžã¥ãŒã«mod_rewriteã®å€æŽãªã³ã¯ãé ãã®ã«åœ¹ç«ã¡ãŸãã ãŸãããªã³ã¯ã¹ãã£ã³ãç¡å¹ã«ããåæã«è² è·ãæžããã«ã¯ã1人ã®ãŠãŒã¶ãŒããé »ç¹ã«éä¿¡ããããªã¯ãšã¹ãéã®æéé 延ãèšå®ãããšåœ¹ç«ã¡ãŸãã ã¹ãã£ã³ãæ··chaãšããéäžãªã¯ãšã¹ãã«å¯Ÿããå¹æçãªä¿è·ãç¶æããã«ã¯ãWebãªãœãŒã¹ã®å®æçãªç£æ»ãå¿ èŠã§ãã
æ¿ããã«ãªã¹ãªã¯ãšã¹ãã¯ããŠãŒã¶ãŒãŸãã¯ãããããããµã€ãããŒãžãžã®çæéã®ã©ã³ãã ãŸãã¯æªæã®ããè€æ°ã®ãªã¯ãšã¹ãã§ãã ããšãã°ãã©ã³ãã ã«éäžããèŠæ±ã«ã¯ãé »ç¹ãªããŒãžæŽæ°ãå«ãŸããŸãã æªæã®ããå€æ°ã®ãªã¯ãšã¹ãã«ã¯ããŠãŒã¶ãŒã«ãããµã€ãã®ããŒãžäžã®ã¹ãã ãDoSæ»æãå«ãŸããŸãã æ··oticãšããéäžèŠæ±ã«ã¯ããã«ãŒããã©ãŒã¹ã«ãããã¹ã¯ãŒãéžæã®æ¹æ³ãå«ãŸããŸãã ãã¹ã¯ãŒãã¯æåã§ããŸãã¯ç¹å¥ãªããã°ã©ã ã䜿çšããŠéžæã§ããŸãã æåãã¹ã¯ãŒãã¯ãå¯èœãªãªãã·ã§ã³ãããã£ãŠããå Žåã«ã®ã¿éžæãããŸãã ãã以å€ã®å Žåããã°ã€ã³ãšãã¹ã¯ãŒãã®ãã¢ãèªåçã«éžæããç¹å¥ãªããã°ã©ã ã䜿çšãããŸãã ãã«ãŒããã©ãŒã¹ã®ããã®ããã°ã©ã ã
æ··oticãšããéäžãªã¯ãšã¹ããããµã€ããä¿è·ããå¹æçãªæ¹æ³ã«ã¯ãç¹å®ã®æéééã§ã®ãªã¯ãšã¹ãéã®é 延æéã®èšå®ããã©ãã¯ãªã¹ããšãã¯ã€ããªã¹ãã®äœæã robots.txtãã¡ã€ã«ã®ãµã€ãããŒãžãªã¯ãšã¹ãéã®æ€çŽ¢ãšã³ãžã³ã®é 延æéã®èšå®ã ãµã€ãããããã¡ã€ã«ã®ããŒãžæŽæ°åšæã®èšå®ãå«ãŸããŸã.xml
ã¯ããŒã«ãæ·· oticãšããéäžãªã¯ãšã¹ããããµã€ããä¿è·ããæ¹æ³ã®1ã€ãå®è£ ããŸãããããã¯ãäžå®æéå ã®ãªã¯ãšã¹ãæ°ãã«ãŠã³ãããèšå®ããããããå€ãè¶ ããå Žåã®é 延æéãèšå®ããããšã§ãã ç¹ã«ããã®æ¹æ³ã§ã¯ããã«ãŒããã©ãŒã¹ã«è²»ããæéãé·ãããããããã«ãŒããã©ãŒã¹ã§ãã¹ã¯ãŒãã解èªããããšã¯å¹æçã§ãªãã圹ã«ç«ããªããªããŸãã å éšã®æºåãã§ããŠããphpã¹ã¯ãªããã
1.å®è£ ãããphpã¹ã¯ãªããã®ããŒã¿
çŸåšãå®éã«ã¯ãã€ã³ã¿ãŒããããªãœãŒã¹ã«ããæ å ±ãå«ãã³ã³ãã¥ãŒã¿ãŒæ å ±ãä¿è·ããããã«ãããŸããŸãªã¢ãããŒãã䜿çšãããŠããŸãã ãããã®ã¢ãããŒãã¯ã次ã®ç¹æ§ã«ãã£ãŠå®çŸ©ã§ããŸãã
-äžè¬çãªã³ã³ãã¥ãŒã¿ã»ãã¥ãªãã£ã確ä¿ããããã®ææ°ã®èŠä»¶ïŒéçºè ãæäŸãããã®ã決å®ããèŠä»¶ïŒã«ãã£ãŠèŠå¶ãããŠããããã¹ãŠã®ä¿è·ã¡ã«ããºã ã®ã»ãããšãã©ã¡ãŒã¿ãŒã®äž¡æ¹ã«å¯Ÿããæ£åŒãªèŠä»¶ã®ååš;
-ã³ã³ãã¥ãŒã¿ãŒæ å ±ãä¿è·ããããã»ã¹ã§å®è£ ãããå®éã®ä¿è·ã¡ã«ããºã ã®ååšã WebãµãŒããŒã§äœ¿çšãããã»ãšãã©ã®ã¹ã¯ãªããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«çµã¿èŸŒãŸããã»ãã¥ãªãã£ã¡ã«ããºã ã䜿çšãããããããã§äœ¿çšãããã¡ãœãããç¶æ¿ãããšããåçŽãªçç±ã«ããããããã®ä¿è·ã¡ã«ããºã ã¯ããŸããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«çµã¿èŸŒãŸããã»ãã¥ãªãã£æ©èœãå«ã¿ãŸãã ãããã®ã¡ã«ããºã ãšããã§äœ¿çšãããæ¹æ³ã«åºã¥ããŠãWebãµãŒããŒå šäœã®å šäœçãªä¿è·ã¬ãã«ã決å®ãããŸãã
-ã³ã³ãã¥ãŒã¿ãŒæ å ±ã®ã»ãã¥ãªãã£ã«å¯ŸããããŸããŸãªè åšã®æ¢åã®çµ±èšã ç¹ã«ãããã¯ããã§ã«å®è¡ãããæ å ±ãªãœãŒã¹ã«å¯Ÿããæ»æã®æåã«é¢ããããŒã¿ã§ãã ãããã®çµ±èšãç¶æããããšã¯ãWebãµãŒããŒã§ä¿è·ãäœæããããã®èŠä»¶ã®ã¬ãã«ãè©äŸ¡ããã ãã§ãªããä¿è·å¯Ÿçã®å¹æãå€æããã®ã«åœ¹ç«ã€ããã«èšèšãããŠããŸãã
æ¢ã«è¿°ã¹ãããã«ããµã€ãã®ã¯ããŒã«ã«å¯ŸåŠããæãå¹æçãªæ¹æ³ã¯ããã¹ãŠã®çš®é¡ã®æ··oticãšããéäžçãªãªã¯ãšã¹ããšåæ§ã«ãåããŠãŒã¶ãŒããã®ãªã¯ãšã¹ãéã«æéé 延ãèšå®ããããšã§ãã ãŠãŒã¶ãŒãèå¥ãããšãã¯ãCookieãç°¡åã«åé€ã§ãããšããçç±ã§ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ã«éç¹ã眮ãå¿ èŠããããŸãã ãã¡ããããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãåçãªå Žåã¯ããããã·ãµãŒããŒã䜿çšããããåæ¥ç¶ãããããŠããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãå€æŽããããšãã§ããŸããããã®ãããªæäœã«ã¯ããªãæéãããããŸãããã¥ãŒã¯æ»æè ã®ãã¹ãŠã®åªåãç¡å¹ã«ããŸãã
ãã®ãµã€ãä¿è·ã®æ¹æ³ã¯ãphpã¹ã¯ãªãããäœæããŠå®è£ ããå¿ èŠããããŸãã ãã®çš®ã®ã¹ã¯ãªããã䜿çšãããšãã¯ããŒã©ãŒããã°ã©ã ã䜿çšãããµã€ãã®ã¹ãã£ã³ããã®ä¿è·ã«åœ¹ç«ã¡ãåæã«ãµã€ãã®ã¯ããŒã«ããæåã§ãå€§å¹ ã«é ãããã®ã«åœ¹ç«ã¡ãŸãã ããã«ããã®ãããªã¹ã¯ãªããã䜿çšãããšãããŸããŸãªçš®é¡ã®æ··chaãšããéäžçãªèŠæ±ãããµã€ãã®ãã¹ãŠã®ããŒãžã«åªããã»ãã¥ãªãã£ãæäŸãããWebãµãŒããŒæ©åšã®è² è·ãæžããããšãã§ããŸãã
éçºããã¹ã¯ãªããã¯æ§æã§ããã¯ãã§ãã ç¹ã«ãã¹ã¯ãªãããã©ã¡ãŒã¿ã®äžéšãäºåã«å€æŽããå¯èœæ§ãäºæž¬ããå¿ èŠããããŸãã èšãæããã°ãã¹ã¯ãªããã«ã¯æ¬¡ã®ãã®ãå¿ èŠã§ãã
-ãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããããã¯ããæéãæ§æããæ©èœã
-ãŠãŒã¶ãŒã¢ã¯ãã£ããã£ããã§ãã¯ããæéééãã€ãŸããç¹å®ã®ãŠãŒã¶ãŒããåä¿¡ãããªã¯ãšã¹ãã®æ°ãä¿æããæéãèšå®ããæ©èœã
-1人ã®ãŠãŒã¶ãŒãç¹å®ã®æéééå ã«ãµã€ãã®ããŒãžã«éä¿¡ã§ãããªã¯ãšã¹ãã®æ°ãèšå®ããæ©èœã
-ãåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ããäœæããæ©èœã ãã®ãªã¹ãã«å«ãŸããIPã¢ãã¬ã¹ã¯ãããã¯ãããŸããã
-ãåžžã«çŠæ¢ãããŠããIPã¢ãã¬ã¹ãã®ãªã¹ããäœæããæ©èœã ã¹ã¯ãªããã¯ããªã¹ããããŠããIPã¢ãã¬ã¹ãåžžã«ãããã¯ããŸãã
ãã®ãããªphpã¹ã¯ãªãããäœæããŠäœ¿çšããå©ç¹ã¯æ¬¡ã®ããã«èããããšãã§ããŸãã
-ããŒã¿ããŒã¹ãµãŒããŒã«éä¿¡ããããªã¯ãšã¹ãæ°ã®å€§å¹ ãªåæžã
-WebãµãŒããŒã§ã®çä¿¡ããã³çºä¿¡ãã©ãã£ãã¯ã®å€§å¹ ãªç¯çŽã
-ã¹ã¯ãªããã®æãéèŠãªãã©ã¡ãŒã¿ãŒã®äŸ¿å©ã§æè»ãªèšå®ã®å¯çšæ§ã
-ãŠãŒã¶ãŒã«ããWebãµãŒããŒã®è² è·ãå€§å¹ ã«åæžããæ©èœã
-ãã®ãªãœãŒã¹ã«ååãªããŒãžãããå Žåããµã€ãã«æçš¿ããããã¹ãŠã®æ å ±ãã³ããŒããããšã¯éåžžã«å°é£ãŸãã¯äžå¯èœã«ãªããŸãã
phpã¹ã¯ãªããã®åœ¢åŒã§äœæããããéçºããããµã€ãã»ãã¥ãªãã£ã·ã¹ãã ã®ããžãã¯ãå³ã«ç€ºããŸãã
ã¹ã¯ãªãããéçºããéçšã§éèŠãªç¹ã¯ãåä¿¡ããæ å ±ãä¿åããæ¹æ³ã®éžæã§ãã ç§ãã¡ã®å Žåããããã¯çŸåšã®ãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ã§ãã ãã®æ å ±ã¯ãããŒã¿ããŒã¹ãŸãã¯ããŒããã©ã€ãã«ä¿åã§ããŸãã éçºããã¹ã¯ãªããã®äœæ¥ãé«éåããããå®å®ãããããã«ããã£ãã·ã¥ãã£ã¬ã¯ããªã䜿çšããŠçŸåšã®ãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãä¿åããŸãã
ãããã®ãã£ã¬ã¯ããªã®1ã€ã«ãã¹ã¯ãªããã¯ã¢ã¯ãã£ãã®IPã¢ãã¬ã¹ãæ ŒçŽããŸãããã®æç¹ã§ããã®ãã£ã¬ã¯ããªã¯ã¢ã¯ãã£ããšåŒã°ããŸãã ãŸããå¥ã®ãã£ã¬ã¯ããªã«ãäžæçã«ãããã¯ããããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãå«ãååã®ãã¡ã€ã«ãè¿œå ããŸãïŒãããã¯ãã£ã¬ã¯ããªïŒã
IPã¢ãã¬ã¹ã«å ããŠãã¹ã¯ãªããã®å®è¡ããã»ã¹ã§ã¯ããŠãŒã¶ãŒã¢ã¯ãã£ããã£ã«é¢ããæ å ±ãå¿ èŠã§ãã ãããè¡ãããã«ããŠãŒã¶ãŒãç¹å®ã®æéã«ãæåã®ãã¢ã¯ãã£ããã£ã瀺ãããšãã«ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãå«ããã¡ã€ã«ã®ååã«æ£ç¢ºãªã·ã¹ãã æéãè¿œå ããŸãã ç¹å®ã®ïŒäºåã«å®çŸ©ãããïŒæéã§åããŠããµã€ãããŒãžã«ãªã¯ãšã¹ããéä¿¡ããŸããã ç¹å®ã®æéééå ã®ãŠãŒã¶ãŒãã¹ã¯ãªããå ã®ãµã€ãããŒãžã«éä¿¡ããããªã¯ãšã¹ãã®æå®æ°ãè¶ ããå Žåãã¹ã¯ãªããã¯ã¢ã¯ãã£ããŠãŒã¶ãŒã®ãã£ã¬ã¯ããªããIPã¢ãã¬ã¹ãå«ããã¡ã€ã«ãåé€ããŸãã 次ã«ããããã¯ãããIPã¢ãã¬ã¹ãå«ããã£ã¬ã¯ããªã«ãæ°ãããã¡ã€ã«ïŒãããã¯ããããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãå«ãååïŒãæžã蟌ã¿ãŸãã ãããã£ãŠã127.0.0.1_1302615293ã195.80.91.151_1302615389ã95.30.17.60_1302615457ã77.39.54.104_ 1302615504ãªã©ã®ååã®ãã¡ã€ã«ã¯ããã£ãã·ã¥ãã£ã¬ã¯ããªïŒã¢ã¯ãã£ãããã³ãããã¯ïŒã«äžæçã«ä¿åãããŸãã
äžéšã®ã¹ã©ãã·ã¥ãŸã§ã®ãã¡ã€ã«åã«ã¯ã¢ã¯ãã£ããªãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãå«ãŸããäžéšã®ã¹ã©ãã·ã¥ã®åŸã«ããã¡ã€ã«åã«ã¢ã¯ãã£ãã«ãªã£ãïŒã€ãŸãããªãœãŒã¹ããŒãžã«ãªã¯ãšã¹ããéä¿¡ãããããããã¯ãããïŒæ£ç¢ºãªã·ã¹ãã æéãå ¥åãããŸãã
ãããšã¯å¥ã«ããã£ã¬ã¯ããªããã£ãã·ã¥ããå Žåãã€ãŸã ã¢ã¯ãã£ããã©ã«ããšãããã¯ãã©ã«ãã§ã¯ããã¡ã€ã«ã®ææè ãŸãã¯777ã®ã¢ã¯ã»ã¹èš±å¯ãèšå®ããå¿ èŠããããŸããã€ãŸãããµãŒããŒã§æå®ããããããã®ãã©ã«ãã®å±æ§ã¯ãã¹ã¯ãªããã«æžã蟌ã¿æš©ãèªã¿åãæš©ãå®è¡æš©ãäžããå¿ èŠããããŸãã ãã¹ãŠã®ãŠãŒã¶ãŒã°ã«ãŒãã«777æš©éãèšå®ããå¿ èŠããããŸãã
ããã«ããµã€ã管çè ãæäŸããªãå Žåã«åããŠãå¥ã®äŸå€ãæäŸããå¿ èŠããããŸãã å®éããã®ãããªç¶æ³ã§ã¯ãã¹ã¯ãªããã¯äœ¿çšã§ããŸãããã€ãŸãããµã€ããã¯ããŒã«ããã³æ··chaãšããéäžçãªèŠæ±ããä¿è·ããããšã¯ãå°ãªããšãç Žç£ã«ãªããŸãã èšãæãããšãã¹ã¯ãªããã®æäœäžã«ããã£ãã·ã³ã°ãã£ã¬ã¯ããªã®èªã¿åãããã³æžã蟌ã¿ã®æ©èœã®æç¡ã確èªããããšãäžå¯æ¬ ã§ãã
çŸåšã®ãŠãŒã¶ãŒã«é¢ããæ å ±ïŒç¹ã«IPã¢ãã¬ã¹ã«é¢ããæ å ±ïŒã¯ãã¹ãŒããŒã°ããŒãã«é å$ _SERVER []ããååŸããŸãã ãã®é åã¯ãWebãµãŒããŒã«ãã£ãŠäœæãããŸãã ããŸããŸãªç°å¢å€æ°ã®å€ãå«ãŸããŠããŸãã ãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãæäœããã«ã¯ã$ _SERVER []ã¹ãŒããŒã°ããŒãã«é åã«å«ãŸãã次ã®ç°å¢å€æ°ã䜿çšããå¿ èŠããããŸãã
-$ _SERVER ['HTTP_X_FORWARDED_FOR'];
-$ _SERVER ['HTTP_CLIENT_IP'];
-$ _SERVER ['HTTP_X_CLUSTER_CLIENT_IP'];
-$ _SERVER ['HTTP_PROXY_USER'];
-$ _SERVER ['REMOTE_ADDR']ã
ç°å¢å€æ°$ _SERVER ['HTTP_X_FORWARDED_FOR']ã¯ãã¯ã©ã€ã¢ã³ãããããã·ãµãŒããŒã䜿çšããŠããå Žåãã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ã決å®ããæ©äŒãæäŸããŸãã ç°å¢å€æ°$ _SERVER ['HTTP_CLIENT_IP']ã䜿çšãããšãã¯ã©ã€ã¢ã³ãããããã·ãµãŒããŒã䜿çšããŠããªãå Žåãã€ã³ã¿ãŒãããäžã§åäœããããã«ã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ãååŸã§ããŸãã ç°å¢å€æ°$ _SERVER ['HTTP_X_CLUSTER_CLIENT_IP']ã¯ããµã€ãããµãŒããŒãšã¯ã©ã€ã¢ã³ãéã®å®å šãªæ¥ç¶ãæäŸããæå·åãããã³ã«SSLã䜿çšããªãå Žåãã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ãååŸããããšãå¯èœã«ããŸãã ç°å¢å€æ°$ _SERVER ['HTTP_PROXY_USER']ã䜿çšãããšããããã·ãµãŒããŒã䜿çšããã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ã決å®ã§ããŸãã
ç°å¢å€æ°$ _SERVER ['REMOTE_ADDR']ã䜿çšãããšããªã¢ãŒããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ãååŸã§ããŸãã ããŒã«ã«ãã·ã³ã§ã®ãã¹ãäžããã®IPã¢ãã¬ã¹ã¯127.0.0.1ã«ãªããŸãã åæã«ããããã¯ãŒã¯äžã§ããã®å€æ°ã¯ãã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ããŸãã¯ãŠãŒã¶ãŒã䜿çšããæåŸã®ãããã·ãµãŒããŒïŒãã®ã¯ã©ã€ã¢ã³ããWebãµãŒããŒã«å°éããïŒã®IPã¢ãã¬ã¹ãè¿ããŸãã ãããã£ãŠã$ _SERVER []é åã®ããŸããŸãªç°å¢å€æ°ïŒäžèšã§äœ¿çšãããã¹ãŠã®å€æ°ïŒãåæã«äœ¿çšãããšããŠãŒã¶ãŒãäœããã®æ¹æ³ã§ããã¹ã¯ãããããšããŠãããŠãŒã¶ãŒã®å®éã®IPã¢ãã¬ã¹ãç¹å®ã§ããŸãããŸãã¯ãããã·ãµãŒããŒã
ãã¹ãã¬ãã«ã«é¢ä¿ãªãããµã€ãã®ä»»æã®ããŒãžã§ã¹ã¯ãªãããå®å®ããŠåäœãããããã«ããã£ãã·ã³ã°ãã£ã¬ã¯ããªïŒã¢ã¯ãã£ãããã³ãããã¯ïŒãžã®ãã¹ã絶察圢åŒã«æžããæ©èœã䜿çšããŸãã ãã®ã¢ãããŒãã䜿çšãããšããµã€ãã®ä»»æã®ããŒãžããã¹ã¯ãªãããå®è¡ã§ããããŒãžã®1ã€ãžã®ã¹ã¯ãªããã§æå®ããããã£ãã·ã¥ãã£ã¬ã¯ããªãžã®çžå¯Ÿçžå¯Ÿãã¹ãééã£ãŠããããšãããããŸãã
ãã§ã«è¿°ã¹ãããã«ãéçºãããã¹ã¯ãªããã¯æ§æã§ããã¯ãã§ãã ç¹ã«ãã¹ã¯ãªãããã©ã¡ãŒã¿ã®äžéšãå€æŽããå¯èœæ§ãäºæž¬ããå¿ èŠããããŸãïŒãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããããã¯ããæéããªãœãŒã¹ããŒãžã«éä¿¡ããããªã¯ãšã¹ãã®æ°ã®æéééãããã³ãã®æéééã§èš±å¯ããããªã¯ãšã¹ãã®æ°ãèæ ®ãããŸãïŒã ãããã®ãã©ã¡ãŒã¿ã¯ãå®æ°ã䜿çšããŠã¹ã¯ãªããã§æåã«èšå®ãããŸãã
ç¹ã«ãã¹ã¯ãªããå ã®ãã®ãããªå®æ°ã¯ã次ã®ãã©ã¡ãŒã¿ãŒã瀺ããŸãã
-ç§åäœã§ç€ºããããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ã®ãããã¯æéïŒconst blockSecondsïŒã
-1人ã®ãŠãŒã¶ãŒãããµã€ãã®ããŒãžãžã®ãªã¯ãšã¹ããèæ ®ãããæéééã ãã®ééãç§åäœã§ç€ºãããŸãïŒconst intervalSecondsïŒã
-ç¹å®ã®æéïŒconst intervalTimesïŒã«1人ã®ãŠãŒã¶ãŒãéä¿¡ã§ããWebãµã€ãããŒãžãžã®ãªã¯ãšã¹ãã®æ°ã
ãããšã¯å¥ã«ãã¹ã¯ãªããã§ã¯ãæååããŒã¿ãå«ããã®ãããªé åãå®çŸ©ããå¿ èŠããããŸãã
-ãåžžã«èš±å¯ãããIPã¢ãã¬ã¹ã®ãªã¹ããã«å«ãŸããIPã¢ãã¬ã¹ã®å€ã®é åïŒãããªãã¯é å宣èšpublic static $ alwaysActive = arrayïŒ ''ïŒïŒ;
-ãåžžã«çŠæ¢ãããŠããIPã¢ãã¬ã¹ã®ãªã¹ããã«å«ãŸããŠããIPã¢ãã¬ã¹ã®å€ã®é åïŒé åpublic static $ alwaysBlock = arrayïŒ ''ïŒã®å®£èšïŒã
ã¹ã¯ãªãããæ£ããæ©èœãããããããã³ãããã°ã®ããã«ãã¹ã¯ãªããå ã«ããã€ãã®ãã©ã°ãååšããããã«ããå¿ èŠããããŸãã ãã®ãããªãã©ã°ã䜿çšãããšããµã€ãã³ã³ãã³ããã¹ãã£ã³ãããŸããŸãªæ··chaãšããèŠæ±ããä¿è·ããããã»ã¹ã«ã圹ç«ã¡ãŸãã ãããã®ãã©ã°ã¯æ¬¡ã®ãšããã§ãã
-åžžã«ã¢ã¯ãã£ããªãŠãŒã¶ãŒã«æ¥ç¶ããæ©èœã®ãã©ã°ïŒconst isAlwaysActiveïŒã
-åžžã«ãããã¯ãããŠãããŠãŒã¶ãŒãæ¥ç¶ããæ©èœã®ãã©ã°ïŒconst isAlwaysBlockïŒã
éçºããã¹ã¯ãªããã«ã¯ãTBlockIpã¯ã©ã¹ã1ã€å«ãŸããŠããŸãã ãã®ã¯ã©ã¹ã«ã¯æ¬¡ã®ã¡ãœãããå«ãŸããŸãã
-checkIpïŒïŒã ãã®ã¡ãœããã¯ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããããã¯ãŸãã¯ã¢ã¯ãã£ããã£ã®ããã«ãã§ãã¯ããæ©èœãå®è£ ããŸãã ãã®å Žåããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«å«ãŸããIPã¢ãã¬ã¹ã¯ã¹ãããããããåžžã«çŠæ¢ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«å«ãŸããIPã¢ãã¬ã¹ã¯éã«ãããã¯ãããŸãã ãŠãŒã¶ãŒIPã¢ãã¬ã¹ãå¯èœãªIPã¢ãã¬ã¹ã®é åã«èŠã€ãããªãå Žåãã¹ã¯ãªããã¯æ°ããã¢ã¯ãã£ããªIPã¢ãã¬ã¹ã®èå¥åãäœæããŸãã
-_getIpïŒïŒã ãã®æ¹æ³ã«ããããã¹ãŠã®å¯èœãªIPã¢ãã¬ã¹ããéžæããããŠãŒã¶ãŒã®çŸåšã®IPã¢ãã¬ã¹ãååŸã§ããŸãïŒç®çã®ã¯ã©ã€ã¢ã³ãIPã¢ãã¬ã¹ãæ€åºããããŸã§ãã£ã«ã¿ãªã³ã°ãå®è¡ãããŸãïŒã ã¡ãœããã¯åä¿¡ããIPã¢ãã¬ã¹ãè¿ããŸãã
æçµçã«ãéçºãããã¹ã¯ãªããã¯ããµã€ããã¹ãã£ã³ããããã»ã¹ã«å¯Ÿæããã®ã«åœ¹ç«ã€å¹æçãªããŒã«ãšèŠãªãããšãã§ãããã¹ãŠã®çš®é¡ã®æ··oticãšããéäžçãªèŠæ±ã«å¯Ÿããäºé²æ段ã«ããªããŸãã éçºãããã¹ã¯ãªããã§ã¯ãåããŠãŒã¶ãŒããã®ãªã¯ãšã¹ãéã®æéé 延ã®èšå®ããããŸãã ãŠãŒã¶ãŒãèå¥ãããšããäž»ãªçŠç¹ã¯IPã¢ãã¬ã¹ã«ãããŸãã ãã®çç±ã¯ç°¡åã§ããäºå®ã¯ãæ»æè ã®ã³ã³ãã¥ãŒã¿ãŒããCookieãç°¡åã«åé€ã§ãããããCookieã䜿çšããŠãªãœãŒã¹ä¿è·ãæ§ç¯ã§ããªãããšã§ãã
ãã¡ããããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããããšãã°ãããã·ãµãŒããŒã䜿çšããŠå€æŽã§ããŸãã æ»æè ã«å¯Ÿãããã®å¯èœæ§ãæé€ããããã«ãã¹ã¯ãªããã¯ç°å¢å€æ°ã䜿çšããŸããç°å¢å€æ°ã¯ããŠãŒã¶ãŒã®å®éã®IPã¢ãã¬ã¹ãèå¥ããã®ã«åœ¹ç«ã¡ãŸãã ãŠãŒã¶ãŒãç¹å®ã®æéå ã«ãµã€ãã®ããŒãžãžã®èŠæ±ã®ç¢ºç«ãããå¶éãè¶ ãããšããã®IPã¢ãã¬ã¹ããããã¯ãããŸãã éçºãããã¹ã¯ãªããã¯ãã¹ãã£ã³ããã®ãµã€ãã®ä¿è·ãããã³æ··chaãšããéäžãªã¯ãšã¹ãããã®ä¿è·ã«é¢é£ãããå²ãåœãŠããããã¹ãŠã®æ©èœãå®è¡ããŸãã
2ãªã¹ãããã°ã©ã
<?php /** * ip-. */ class TBlockIp { /** * . */ const blockSeconds = 60; /** * . */ const intervalSeconds = 15; /** * . */ const intervalTimes = 3; /** * . */ const isAlwaysActive = true; /** * . */ const isAlwaysBlock = true; /** * . */ const pathActive = 'active'; /** * . */ const pathBlock = 'block'; /** * . */ const pathIsAbsolute = false; /** * . */ public static $alwaysActive = array( '172.16.1.1', ); /** * . */ public static $alwaysBlock = array( '172.16.1.1', ); /** * ip- . */ public static function checkIp() { // ip- $ip_address = self::_getIp(); // if (in_array($ip_address, self::$alwaysActive) && self::isAlwaysActive) { return; } // if (in_array($ip_address, self::$alwaysBlock) && self::isAlwaysBlock) { echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'; echo '<html xmlns="http://www.w3.org/1999/xhtml">'; echo '<head>'; echo '<title> </title>'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; echo '</head>'; echo '<body>'; echo '<p style="background:#ccc;border:solid 1px #aaa;margin:30px au-to;padding:20px;text-align:center;width:700px">'; echo ' .<br />'; echo '</p>'; echo '</body>'; echo '</html>'; exit; } // $path_active = self::pathActive; $path_block = self::pathBlock; // if (!self::pathIsAbsolute) { $path_active = str_replace('\\' , '/', dirname(__FILE__) . '/' . $path_active . '/'); $path_block = str_replace('\\' , '/', dirname(__FILE__) . '/' . $path_block . '/'); } // if (!is_writable($path_active)) { die(' .'); } if (!is_writable($path_block)) { die(' .'); } // ip- $is_active = false; if ($dir = opendir($path_active)) { while (false !== ($filename = readdir($dir))) { // ip + ip if (preg_match('#^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})_(\d+)$#', $filename, $matches)) { if ($matches[2] >= time() - self::intervalSeconds) { if ($matches[1] == $ip_address) { $times = intval(trim(file_get_contents($path_active . $filename))); if ($times >= self::intervalTimes - 1) { touch($path_block . $filename); unlink($path_active . $filename); } else { file_put_contents($path_active . $filename, $times + 1); } $is_active = true; } } else { unlink($path_active . $filename); } } } closedir($dir); } // ip- $is_block = false; if ($dir = opendir($path_block)) { while (false !== ($filename = readdir($dir))) { // ip + ip if (preg_match('#^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})_(\d+)$#', $filename, $matches)) { if ($matches[2] >= time() - self::blockSeconds) { if ($matches[1] == $ip_address) { $is_block = true; $time_block = $matches[2] - (time() - self::blockSeconds) + 1; } } else { unlink($path_block . $filename); } } } closedir($dir); } // ip- if ($is_block) { header('HTTP/1.0 502 Bad Gateway'); echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'; echo '<html xmlns="http://www.w3.org/1999/xhtml">'; echo '<head>'; echo '<title>502 Bad Gateway</title>'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; echo '</head>'; echo '<body>'; echo '<h1 style="text-align:center">502 Bad Gateway</h1>'; echo '<p style="background:#ccc;border:solid 1px #aaa;margin:30px au-to;padding:20px;text-align:center;width:700px">'; echo ' , , - .<br />'; echo ' . ' . $time_block . ' () .'; echo '</p>'; echo '</body>'; echo '</html>'; exit; } // ip- if (!$is_active) { touch($path_active . $ip_address . '_' . time()); } } /** * ip- . */ private static function _getIp() { // ip- $ip_address = '127.0.0.1'; // ip- $addrs = array(); // ip- if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { // ip- - foreach (array_reverse(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])) as $value) { $value = trim($value); // ip- if (preg_match('#^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$#', $value)) { $addrs[] = $value; } } } // ip- if (isset($_SERVER['HTTP_CLIENT_IP'])) { $addrs[] = $_SERVER['HTTP_CLIENT_IP']; } // ip- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])) { $addrs[] = $_SERVER['HTTP_X_CLUSTER_CLIENT_IP']; } // ip- if (isset($_SERVER['HTTP_PROXY_USER'])) { $addrs[] = $_SERVER['HTTP_PROXY_USER']; } // ip- if (isset($_SERVER['REMOTE_ADDR'])) { $addrs[] = $_SERVER['REMOTE_ADDR']; } // ip-, foreach ($addrs as $value) { // ip- if (preg_match('#^(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})$#', $value, $matches)) { $value = $matches[1] . '.' . $matches[2] . '.' . $matches[3] . '.' . $matches[4]; if ('...' != $value) { $ip_address = $value; break; } } } // ip- return $ip_address; } } // ip- TBlockIp::checkIp();
ãã®ã¹ã¯ãªããã¯ãã€ã³ããã¯ã¹ããŒãžã«çŽæ¥åã蟌ãããã€ã³ããã¯ã¹ãã¡ã€ã«ã®å é ã«åŒã³åºããå«ããããšã§phpãã¡ã€ã«ã«åå¥ã«åã蟌ãããšãã§ããŸãã
ãµã€ãã€ã³ããã¯ã¹ãã¡ã€ã«ã§ã®å®è£ äŸã ã€ã³ããã¯ã¹ãã¡ã€ã«ã®æäžéšã«èšè¿°ããŸãïŒããŒãžãšã³ã³ãŒãã£ã³ã°ãæ£ãã衚瀺ãããããã«ãšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ãèšå®ããåŸã«å¯èœã§ãïŒã
include '/block/index.php';
ãã®å Žåãã«ãŒãã«ãblockããã©ã«ããŒããactiveããã©ã«ããŒãšãblockããã©ã«ããŒãããã³ãindex.phpããã¡ã€ã«ãäœæããå¿ èŠããããŸãïŒããã§ã¯äžèšã®ã³ãŒããã³ããŒããŸãïŒã
3ãµã€ãã«åã蟌ãŸããphpã¹ã¯ãªããã®ãã¹ã
èšè¿°ãããã³ãŒãã®è¡šç€ºãšãã®åŸã®ãã¹ãã¯ãPHPã¹ã¯ãªããã®éçºã«ãããæãéèŠãªæ®µéã®1ã€ã§ãã ãã®æ®µéã§ã¯ãWebã®ããã°ã©ãã³ã°ã«æºããéçºè ã¯èŠéããã¡ã§ãã å®éã®ãšãããèšè¿°ãããã¹ã¯ãªããã2ã3åå®è¡ããã®ã¯éåžžã«ç°¡åã§ãæ£åžžã«æ©èœããããšã«æ³šæããŠãã ããã åæã«ãããã¯ããããééãã§ãã çµå±ãäœæãããã¹ã¯ãªããã¯åŸ¹åºçãªåæãŸãã¯ãã¹ãã®å¯Ÿè±¡ãšãªãå¿ èŠããããŸãã
éçºããphpã¹ã¯ãªãããšã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã®äž»ãªéãã¯ãéåžžã«åºãç¯å²ã®äººã ãWebã¢ããªã±ãŒã·ã§ã³ã§äœæ¥ããããšã§ãã ãã®ãããªç¶æ³ã§ã¯ãããŸããŸãªWebã¢ããªã±ãŒã·ã§ã³ã®äœ¿çšã«å®å šã«ç²ŸéããŠããããšããŠãŒã¶ãŒã«é Œãã¹ãã§ã¯ãããŸããã ãŠãŒã¶ãŒã«å·šå€§ãªã¬ã€ããã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ãæäŸããããšã¯ã§ããŸããã ãã®ãããéçºãããWebã¢ããªã±ãŒã·ã§ã³ã¯ãèªå·±ææžåã ãã§ãªããèªæã§ãªããã°ãªããŸããã éçºããphpã¹ã¯ãªãããå®è£ ãããšãã¯ãããŸããŸãªç¶æ³ã§ã®åäœããã¹ãããã ãã§ãªããããããçš®é¡ã®äœ¿çšæ¹æ³ãèæ ®ããå¿ èŠããããŸãã
çµéšã®ãããŠãŒã¶ãŒãããã°ã©ããŒã«ãšã£ãŠãçµéšã®æµ ããŠãŒã¶ãŒãçµéšããåé¡ãç解ããããšã¯ãã°ãã°å°é£ã§ãã åé¡ã解決ãã1ã€ã®æ¹æ³ã¯ãäžè¬çãªãŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã代衚ãããã¹ã¿ãŒãèŠã€ããããšã§ãã éå»ã«ã¯ã次ã®ã¢ãããŒãã䜿çšãããŠããŸãããæåã«ãéçºãããWebã¢ããªã±ãŒã·ã§ã³ã®ããŒã¿çãåžå Žã«ãªãªãŒã¹ãããŸããã ã»ãšãã©ã®ãšã©ãŒãä¿®æ£ããããšæãããåŸããã®ã¢ããªã±ãŒã·ã§ã³ã¯å°æ°ã®ãŠãŒã¶ãŒåãã«å ¬éããããããçä¿¡ãã©ãã£ãã¯ã®åŒ·åºŠãå°ãããªããŸãã ãã®çš®ã®ãã¹ãã®åŸãéçºè ã¯ãéçºããã·ã¹ãã ã䜿çšããããã®ããŒã¿ãšãªãã·ã§ã³ã®ããŸããŸãªçµã¿åãããååŸããŸãããéçºè ã¯[13ã394]ã«ã€ããŠãæšæž¬ããŸããã§ããã
äœæãããphpã¹ã¯ãªããã¯ãå®éã«äœæããããšããã«å®è¡ããå¿ èŠããããŸãã ãã®äœæ¥ã§éçºããã³äœæãããphpã¹ã¯ãªããã«é¢é£ããŠããããèšãããšãã§ããŸãïŒãŠãŒã¶ãŒãç¹å®ã®æéïŒããã©ã«ãã§ã¯15ç§ïŒãæå®ããããªã¯ãšã¹ãæ°ïŒããã©ã«ãã§ã¯3ãªã¯ãšã¹ãïŒä»¥äžããµã€ãã®ããŒãžã«éä¿¡ã§ããã¹ã¯ãªããããã®IPããããã¯ããªãå Žå-ã¢ãã¬ã¹ããããŠãšã©ãŒãæžãããWebã¢ããªã±ãŒã·ã§ã³ã®ä»äºã«å¿ã³èŸŒãã ã äžè¬ã«ããã¹ãã¯ãèšè¿°ãããphpã¹ã¯ãªããã®äºæ³ãããåäœãšå®éã®åäœã®éã«ååšãããã®ãããªäžæŽåãç¹å®ããããšããã¢ã¯ãã£ããã£ã§ãã éçºè ã¯ãã¹ã¯ãªããã®åäœã®äžæŽåãšãéçºäžã®äžæ£ãªåäœãç¹å®ããããšã«ããããŠãŒã¶ãŒããã®çš®ã®ã¹ã¯ãªããã®åäœã«ééããå¯èœæ§ãå€§å¹ ã«æžããããšãã§ããŸãã ããã°ã©ã ïŒãã®å Žåã¯ãæžãããphpã¹ã¯ãªããïŒãæåã§ããŸãã¯å°çšã®ãªã³ã©ã€ã³ãµãŒãã¹ã䜿çšããŠãã¹ãã§ããŸãã
3.1æåãã¹ã
èšè¿°ãããphpã¹ã¯ãªãããæåã§ãã¹ãããå Žåãã¹ã¯ãªãããå²ãåœãŠãããã¿ã¹ã¯ãå®è¡ãããã©ããã確èªããå¿ èŠããããŸãã ç¹ã«ãç¹å®ã®æéã«é »åºŠã蚱容é床ãè¶ ããå ŽåãåããŠãŒã¶ãŒããã®ãµã€ãããŒãžãžã®ãªã¯ãšã¹ãã®æ°ãå¶éããŸããã ã¹ã¯ãªããã®ããã©ãŒãã³ã¹ããã¹ãããã«ã¯ããŸãããµã€ãã³ãŒãã«ã¹ã¯ãªãããåã蟌ãå¿ èŠããããŸãã ãããè¡ãã«ã¯ã次ã®èšèªæ§æã䜿çšã§ããŸãã
include "block / index.php";
ãããå«ãããšãã¹ã¯ãªããã¯ãããã¯ãã©ã«ããŒã«é 眮ãããŸãã ãµã€ãã³ã³ãã³ã管çã·ã¹ãã ããããŒãžã®ãããããã¬ã³ããªãŒURLã®äœæã䜿çšããå Žåãã€ãŸã 人éã®èªèã«äŸ¿å©ãªWebã¢ãã¬ã¹ïŒãã®å Žåã/ news / sport / 2003/10 /ãªã©ã®ãã«ãã¬ãã«æ§é ã®äœæïŒããŸãã¯ãã©ã«ããŒã®ã«ãŒããšã¯ç°ãªãã¢ãã¬ã¹ïŒ/ newsãªã©ïŒã§ããŒãžãããŒãããŸã/sport.phpïŒãã¹ã¯ãªããã®ã¢ãã¬ã¹ãæ£ããæå®ããå¿ èŠããããŸãã ãã®ãããªç¶æ³ã§ã¯ãã¹ã¯ãªãããžã®çµ¶å¯Ÿãã¹ã瀺ãããå ŽåããããŸãã
æžãããphpã¹ã¯ãªããã®ãã¹ãèªäœã¯ããµã€ãã®ããŒãžã«ãªã¯ãšã¹ããéä¿¡ããããšã§æ§æãããŸãã ãã¹ãããã»ã¹ã§ã¯ãäœæãããã¹ã¯ãªãããç¹å®ã®æéïŒããã©ã«ã-15ç§ïŒã«æå®ãããæ倧ãªã¯ãšã¹ãæ°ïŒããã©ã«ã-3ãªã¯ãšã¹ãïŒãã¹ããããããã©ããã確èªããå¿ èŠããããŸãã ãŸããã¹ã¯ãªããããã®äž»ãªæ©èœã«ã©ã®ããã«å¯ŸåŠãããã確èªããå¿ èŠããããŸãã åããŠãŒã¶ãŒããã®ãµã€ãããŒãžãžã®éäžçãªèŠæ±ãçŽæ¥ãããã¯ããŸãã ãµã€ãã®ããŒãžã«éä¿¡ã§ãããªã¯ãšã¹ãã®æ°ã確èªãããšãå²ãåœãŠããã15ç§ä»¥å ã«ããµã€ãã®ããŒãžã«3ã€ä»¥äžã®ãªã¯ãšã¹ããéä¿¡ããããšã¯ã§ããŸããã ç¹ã«ããŠãŒã¶ãŒã3ã€ä»¥äžã®èŠæ±ãéä¿¡ãããšãå³ã«ç€ºãããã«ãäžæããã¯ã«é¢ããã¡ãã»ãŒãžãåä¿¡ããŸãã
ãããã£ãŠããã¹ãã§ã¯ãã¹ã¯ãªãããæå³ãããšããã«æ©èœããããšã瀺ãããŸãããç¹å®ã®æéééã§1人ã®ãŠãŒã¶ãŒããã®ãªã¯ãšã¹ãæ°ãæå®ãããã€ã³ãžã±ãŒã¿ãŒïŒããã©ã«ã-3ãªã¯ãšã¹ãïŒãè¶ ãããšãç¹å®ã®æéïŒããã©ã«ãã§ã¯1åéïŒãŠãŒã¶ãŒããããã¯ããŸãïŒ ãã¹ãã®æ¬¡ã®æ®µéã¯ãæžãããphpã¹ã¯ãªããã®åã ã®æ©èœã®æäœæ§ãæ€èšŒããããšã§ãã ç¹ã«ããã¹ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«è¿œå ãããå Žåãã¹ã¯ãªãããã©ã®ããã«æ©èœãããã確èªããå¿ èŠããããŸãã ãŸãããã¹ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããåžžã«çŠæ¢ãããŠããIPã¢ãã¬ã¹ãã®ãªã¹ãã«è¿œå ãããå Žåã®ã¹ã¯ãªããã®åäœã確èªããå¿ èŠããããŸãã
ãã¹ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«è¿œå ãããšããµã€ãã®ããŒãžã«éä¿¡ããããªã¯ãšã¹ãã®æ°ã®å¶éããªããªãããªã³ã¯ããã©ãïŒãŸãã¯ããŒãžãæŽæ°ããïŒããšãã§ããŸãã ã€ãŸãããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ããæ£ããæ©èœããå¿ èŠããããŸãã ãã¹ããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããåžžã«çŠæ¢ãããŠããIPã¢ãã¬ã¹ãã®ãªã¹ãã«è¿œå ããåŸããµã€ãããŒãžãžã®å°ãªããšã1ã€ã®èŠæ±ã®éä¿¡ã倱æããŸããã å³ã«ç€ºãããã«ãWebãªãœãŒã¹ã®ã³ã³ãã³ãã®ä»£ããã«ããã©ãŠã¶ã«ããããã³ã°ã¡ãã»ãŒãžã衚瀺ãããŸãã
ã€ãŸãããåžžã«çŠæ¢ãããŠããIPã¢ãã¬ã¹ãã®ãªã¹ããå®è¡ããå¿ èŠãããæ©èœã¯æ£ããæ©èœããŠããŸãã ãã®æ©èœã¯ãIPã¢ãã¬ã¹ããåžžã«çŠæ¢ãããŠããIPã¢ãã¬ã¹ãã®ãªã¹ãã«å«ãŸããŠãããŠãŒã¶ãŒãå®å šã«ãããã¯ããŸãã ãããã£ãŠããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ããšãåžžã«çŠæ¢ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã䜿çšããŠå®è£ ãããã¢ã¯ã»ã¹å¶åŸ¡ã®æ©èœã¯æ£ããåäœããã¹ã¯ãªããã¯åœåã®æå³ã©ããã«åäœããŸãã ã€ãŸãããã®ã¹ã¯ãªããã¯ããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«IPã¢ãã¬ã¹ãå«ãŸãããŠãŒã¶ãŒã«ãµã€ãã®ããŒãžãžã®ç¡å¶éã®ã¢ã¯ã»ã¹ãæäŸãããåžžã«çŠæ¢ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«IPã¢ãã¬ã¹ãå«ãŸãããŠãŒã¶ãŒãžã®ã¢ã¯ã»ã¹ãå®å šã«çŠæ¢ããŸãã æžãããphpã¹ã¯ãªãããæåã§ãã¹ããããšãã¹ã¯ãªããã®ãã¹ãŠã®æ©èœããããã£ãŠã¹ã¯ãªããèªäœãæ£ããæ©èœããããšã瀺ãããŸããã å ã èããããŠããéãã§ãã
3.2ãªã³ã©ã€ã³ãµãŒãã¹ã䜿çšãããã¹ã
ãªã³ã©ã€ã³ãµãŒãã¹ã䜿çšããŠèšè¿°ãããphpã¹ã¯ãªããããã¹ããããšããµã€ãã®ããŒãžãèªã¿èŸŒãããã«å¿ èŠãªãã©ãã£ãã¯ã®æ£ç¢ºãªéãèŠã€ããããšãã§ããããŸããŸãªèªåãµãŒãã¹ãŸãã¯ããã°ã©ã ã«ãã£ãŠéä¿¡ããããªã¯ãšã¹ãã®èšè¿°ãããphpã¹ã¯ãªããã®ãã¹ã«ãŒãããããæ£ç¢ºã«æ±ºå®ããã®ã«ã圹ç«ã¡ãŸãã ã¹ã¯ãªããã®ã¿ã¹ã¯ã®1ã€ã¯ãã¯ããŒã©ãŒããã°ã©ã ã䜿çšããã¹ãã£ã³ãããµã€ããä¿è·ããããšã§ãããããæåŸã®ãã©ã¡ãŒã¿ãŒã¯éåžžã«éèŠã§ãã ãã®ãããªãã¹ãã¯ãå¿ èŠãªãã©ãã£ãã¯éãšããã»ããµæéã«ã€ããŠã®çµè«ã ãã§ãªãããµã€ãã§æ瀺ãããæ å ±ãèªåã¢ãŒãã§ããŒãžãèŠæ±ãããœãããŠã§ã¢ããŒã«ã§å©çšå¯èœãã©ããã«ã€ããŠãçµè«ãåºãã®ã«åœ¹ç«ã¡ãŸãã ãŸããããŸããŸãªæ¥ç¶é床ã§ã®ãµã€ãã®ããŒãžã®å¹³åèªã¿èŸŒã¿æéãæšå®ããŸãã ãŸãããŠãŒã¶ãŒãããŒãããããŒãžã®ãµã€ãºãæšå®ããŸãã ãã®çš®ã®ãã¹ããå®æœããã«ã¯ã analyze.websiteoptimization.comã«ãããªã³ã©ã€ã³ãµãŒãã¹ã䜿çšããŸãã ãµãŒãã¹ã«ãã£ãŠå®çŸ©ãããããŒãæžã¿ããŒãžã®ãµã€ãºãå³ã«ç€ºããŸãïŒ
ãã¹ããããµã€ãã¯1ããŒãžã®ã¿ã§æ§æãããŠããããã®ãµã€ãºã¯1511ãã€ãã§ããããã0.51ç§ïŒ56 Kã®æ¥ç¶é床ïŒãŸãã¯0.21ç§ïŒ1.44 Mbpsã®ãŠãŒã¶ãŒæ¥ç¶é床ïŒã§ããŒããããŸãã ã ããŸããŸãªãŠãŒã¶ãŒæ¥ç¶é床ã§ã®ããŒãžèªã¿èŸŒã¿é床ãå³ã«ç€ºããŸãã
å³ã®æ å ±ãããããããã«ãæäœã®æ¥ç¶é床ïŒ14.4 KïŒã§ãããµã€ãã®ããŒãžã¯éåžžã«éãïŒ1.4ç§ã§ïŒããŒããããŸãã åæã«ããŠãŒã¶ãŒã®æ¥ç¶é床ãéåžžã«é«ãå ŽåïŒç¹ã«1.44 MbpsïŒãããŒãžã¯æåéãå³åº§ã«ïŒ0.21ç§ã§ïŒããŒããããŸãã ãã®ãªãœãŒã¹ã®ããŠã³ããŒãé床ã¯ããã±ããæ倱çã«åãããŠèª¿æŽãããŸãïŒãã®æ¯çã¯0.7ã§ãïŒã ãŸããããŒãžã®èªã¿èŸŒã¿ããšã«å¹³å0.2ç§ã«çããé 延æéãèæ ®ã«å ¥ããŸãã æ¥ç¶é床ã®å€§å¹ ãªå¢å ãããŒãžã®ããŒãæéã®åçã®å€§å¹ ãªççž®ã«ã€ãªãããªãçç±ã説æããã®ã¯ããããã®ãã©ã¡ãŒã¿ãŒã§ãã ãã®ãµãŒãã¹ã¯ããµã€ãã®ããŒãžãããŒãããããã®äž»èŠãªãã©ã¡ãŒã¿ãŒãè©äŸ¡ããããšã«å ããŠããµã€ãã®åæã®äžè¬çãªçµæããããŠãã¡ããããµã€ãã®ããŒãžãããŒãããããã®ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒãæ¹åããããšãç®çãšããæšå¥šäºé ãæäŸããããšã«æ³šæããŠãã ããã ãµãŒãã¹ã®åæçµæãšæšå¥šäºé ãå³ã«ç€ºããŸãïŒ
å³ãããããããã«ãåæããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒã®ãã¹ã察象ãµã€ãã®ãã¹ãŠã®ã€ã³ãžã±ãŒã¿ãŒã¯ãéåžžã®å¶éå ã«ãããŸãã ç¹ã«ããã®ãµãŒãã¹ã§ã¯ããµã€ãããŒãžã®æ°ãããŒãžäžã®ãªããžã§ã¯ããããã³ãããã®ããŒãžãšãªããžã§ã¯ãã®ãµã€ãºã蚱容ç¯å²å ã§ããããšãæèšããŠããŸãã ãµã€ãã¯åæããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒã®åºæºãæºãããŠãããããååŸããããŒã¿ã«åºã¥ããŠããã¹ããããµã€ãã®æé©åã¯å¿ èŠãããŸããã ã€ãŸãããµã€ãïŒãŸãã¯ãµã€ãããŒãžïŒããããŠã³ããŒããããæ å ±ã®éã¯éåžžã«å°ãªããWebãµãŒããŒãšãŠãŒã¶ãŒã®äž¡æ¹ã®ãªãœãŒã¹ãç¯çŽã§ããŸãã ã€ãŸã éçºãããã¹ã¯ãªããã¯ãµã€ããããŒããããå®éããã®ååšã¯ç®ç«ã¡ãŸããã ãã¹ãã匷調ãããã®ã ãµã€ãã®ããŒãžã®èªã¿èŸŒã¿é床ãããã³ä»ã®ã¹ã¯ãªããã®å©çšå¯èœæ§ã®ç¢ºèªã¯ã www.pr-cy.ruãªã©ã®ãªã³ã©ã€ã³ãµãŒãã¹ã䜿çšããŠå®è¡ã§ããŸãã ãã®ãªã³ã©ã€ã³ãµãŒãã¹ã䜿çšããŠè¡ããããã¹ãã®çµæãå³ã«ç€ºããŸãã
ã芧ã®ãšãããå¹³åããŠã³ããŒãé床30.31 Kb / sã§ååŸããããŒã¿ãããããŒãžã®èªã¿èŸŒã¿æéã¯0.05ç§ã§ãã åæã«ãå¹³åé床37.89 Kb / sã§ã¯ãããŒãžã®èªã¿èŸŒã¿æéã¯ãã§ã«0.04ç§ã§ãã åæã«ããã®äœæ¥ã§éçºãããã¹ã¯ãªããã¯ãåãIPã¢ãã¬ã¹ããã®ãµã€ãã®ããŒãžãžã®3ã€ä»¥äžã®ãªã¯ãšã¹ãããããã¯ããããã«ããäžå¿ èŠãªäœæ¥è² è·ãæžãããè©Šè¡ãè€éã«ãããããµã€ãã®ãã¹ã¯ãŒããéžæã§ããªãããã«ããããšããã¹ãã瀺ããŸãã
3.3ãµã€ãã«åã蟌ãŸããphpã¹ã¯ãªããã®ãã¹ãçµæ
ãã¹ãã§ã¯ãéçºãããphpã¹ã¯ãªãããæåã«å²ãåœãŠãããæ©èœã«ããŸã察å¿ããŠããµã€ããã¹ãã£ã³ããä¿è·ãã1人ã®ãŠãŒã¶ãŒããã®æ··chaãšããéäžçãªèŠæ±ããã«ãŒããã©ãŒã¹æ»æããä¿è·ããããšã瀺ããŸããã ç¹ã«ããµã€ãã®æåãã¹ãã§ã¯ãç¹å®ã®æéééã§ã®ãããã®ãªã¯ãšã¹ãã®æ°ãæå®ã®å¶éãè¶ ããå Žåãã¹ã¯ãªããã1ã€ã®IPã¢ãã¬ã¹ãããµã€ãã®ããŒãžãžã®ãªã¯ãšã¹ãããããã¯ããããšã瀺ãããŸããã ããã«ããã®ãã¹ãã§ã¯ãã¹ã¯ãªããã®ãã¹ãŠã®æ©èœãç¹ã«ãåžžã«èš±å¯ãããIPã¢ãã¬ã¹ããšãåžžã«çŠæ¢ãããIPã¢ãã¬ã¹ãã®ãªã¹ããæäœããæ©èœãæ£åžžã«æ©èœããããšã瀺ãããŸããã ã€ãŸããéçºãããã¹ã¯ãªããã¯ããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«IPã¢ãã¬ã¹ãå«ãŸãããŠãŒã¶ãŒã«ãµã€ãã®ãã¹ãŠã®ããŒãžãžã®ç¡å¶éã®ã¢ã¯ã»ã¹ãæäŸãããåžžã«çŠæ¢ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«ããIPã¢ãã¬ã¹ãæã€ãŠãŒã¶ãŒãžã®ã¢ã¯ã»ã¹ãå®å šã«çŠæ¢ããŸããã
éçºãããphpã¹ã¯ãªãããåã蟌ãŸããŠãããµã€ãã®ãã¹ãã§ã¯ãåæããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒã«å¯Ÿãããã¹ãããããµã€ãã®ãã¹ãŠã®ã€ã³ãžã±ãŒã¿ãŒãéåžžã®å¶éå ã«ããããšã瀺ãããŸããã ç¹ã«ããã®ãµãŒãã¹ã§ã¯ããµã€ãããŒãžã®æ°ãããŒãžäžã®ãªããžã§ã¯ããããã³ãããã®ããŒãžãšãªããžã§ã¯ãã®ãµã€ãºã蚱容ç¯å²å ã§ããããšãæèšããŠããŸãã ãµã€ãã¯åæããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒã®åºæºãæºãããŠãããããååŸããããŒã¿ã«åºã¥ããŠããã¹ããããµã€ãã®æé©åã¯å¿ èŠãããŸããã ã€ãŸãããµã€ãïŒãŸãã¯ãµã€ãããŒãžïŒããããŠã³ããŒããããæ å ±ã®éã¯éåžžã«å°ãªããWebãµãŒããŒãšãŠãŒã¶ãŒã®äž¡æ¹ã®ãªãœãŒã¹ãç¯çŽã§ããŸãã 以åã¯ãã¹ã¯ãªããã¯è±èªãšè±èªã®åèªãåŠç¿ããããã®ãµã€ãã§äœ¿çšãããŠããŸããããåŸã§ããæ·±å»ãªä¿è·å¯Ÿçãè¬ããããŸããã ãã ããæåã¯ããã®ã¹ã¯ãªããã«ããå®äŸ¡ãªãã¹ãã£ã³ã°ã®è² è·ãå€§å¹ ã«åæžããã1æ¥ããã5000以äžã®ãã¹ãã®ãã©ãã£ãã¯ã§ãµã€ãããããããšãã§ããŸããã
ããã«ããµã€ãããã¹ããããšããã¹ããããµã€ãã®ããŒãžèªã¿èŸŒã¿é床ãéåžžã«éãããšãããããŸããã ãŸãããã®ãªã³ã©ã€ã³ãµãŒãã¹ã®IPã¢ãã¬ã¹ããéä¿¡ãããèŠæ±ã®æ°ãéçºãããã¹ã¯ãªããã§èš±å¯ãããŠããå¶éãè¶ ããå Žåãã¹ã¯ãªããã¯ãµã€ãã®ãã¹ãããããã¯ããŸããïŒã¹ã¯ãªããã«èšå®ããã1ã€ã®IPã¢ãã¬ã¹ããã®èŠæ±ã®æ倧æ°ã¯15ç§ã§3èŠæ±ã§ãïŒã
ã€ãŸããã¯ããŒã«ãæ··andãšããéäžã¯ãšãªãããµã€ããä¿è·ããããšã¯ãåœåã®æ³å®ã©ããã«æ©èœããŸãã ã€ãŸãã1ã€ã®IPã¢ãã¬ã¹ããçºä¿¡ããããªã¯ãšã¹ãã®æ°ïŒãŠãŒã¶ãŒã®IPã¢ãã¬ã¹ããåžžã«èš±å¯ãããIPã¢ãã¬ã¹ãã®ãªã¹ããŸãã¯ãåžžã«çŠæ¢ãããIPã¢ãã¬ã¹ãã®ãªã¹ãã«ãªãå ŽåïŒã¯ãç¹å®ã®æéééã§ããã©ãŠã¶ãããã°ã©ã ã䜿çšããŠãªã¯ãšã¹ããéä¿¡ããããã©ããããŸãã¯ãªã¯ãšã¹ãã®éä¿¡æã«ãããã·ãµãŒããŒã䜿çšããããã©ããã«ãããããããŠãŒã¶ãŒã®IPã¢ãã¬ã¹ã¯äžæçã«ãããã¯ãããŸãïŒãŠãŒã¶ãŒã®å®éã®IPã¢ãã¬ã¹ããã¹ã¯ããããïŒã