
ã¢ããªã±ãŒã·ã§ã³ã®å®å
šæ§ã¯ã©ã®çšåºŠã§ããïŒ äžéšã®äººã«ãšã£ãŠããã®è³ªåã¯æå³ããããŸããã ãå¯èœãªéããå®å
šã§ããã»ã©è¯ããã ããããããã¯å®å
šãªçãã§ã¯ãããŸããã ãŸãã圌ã¯ãããžã§ã¯ãã®ã»ãã¥ãªãã£ããªã·ãŒã®äœæãæ¯æŽããŠããŸããã ããã«ããã®æ什ïŒãã»ãã¥ãªãã£ãé«ãã»ã©è¯ããïŒã®ã¿ãé å®ããå Žåãèªåèªèº«ã«æ害ãäžããããšãã§ããŸãã ãªãã§ïŒ çãã¯äžã«ãããŸãã
ã»ãã¥ãªãã£ã¯ãŠãŒã¶ããªãã£ãšç«¶åããŸã
è¿œå ã®ã»ãã¥ãªãã£ãã§ãã¯ã«ãããã¢ããªã±ãŒã·ã§ã³ã®å©äŸ¿æ§ãäœäžããŸãã ããã¯ãäž»ã«ã¢ããªã±ãŒã·ã§ã³ã®2ã€ã®éšåãèªèšŒãšãã¹ã¯ãŒãå埩ã«åœ±é¿ããŸãã
SMSã®åŒ·å¶éä¿¡ãšãã¹ã¯ãŒãã«å ããŠè¿œå ããŒã¿ã®å ¥åãå«ãå€èŠçŽ èªèšŒã«ããããŠãŒã¶ãŒã®ç掻ã¯å°ãå®å šã«ãªããŸãããæºè¶³åºŠã¯äœäžããŸãã ãããŠããµãŒãã¹ã®æ¬è³ªãç«ãšåçã亀æã§ããããšã§ããå ŽåããŠãŒã¶ãŒã¯èªåã®çµéšãããå®å šã«ããããã«ããªãã®ç±æã«æè¬ããªããããããŸããã
èªèšŒãšã©ãŒãçºçããå Žåãã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã§ã¯ãæ»æè ããŠãŒã¶ãŒããŒã¿ããŒã¹ãåéã§ããªãããã«ããšã©ãŒãçºçããå¯èœæ§ã®ããå Žæã«é¢ããæ å ±ãã§ããã ãå°ãªãããããšããå§ãããŸãã ãããã®æšå¥šäºé ã«ãããšããµã€ã蚪åè ã33ã®èªèšŒæé ãçµãŠãã£ãŒã«ãã®1ã€ã§ã¿ã€ããã¹ãããå Žåãæåã®ã»ãã¥ãªãã£ãœãªã¥ãŒã·ã§ã³ã¯ãããããäœããããŸããããŸããã§ãããããäžåºŠããçŽããŠãã ãããã§ãã éçºè ã®ãããã§ããµã€ãã»ãã¥ãªãã£ã·ã¹ãã ã®é«è²Žãªæå³ã«å¯Ÿããèª å®ãªè³è³ã¯ããã®å Žåã«ãŠãŒã¶ãŒãæããææ ã§ã¯ãããŸããã
ç¹å®ã®ã»ãã¥ãªãã£ãã©ã¯ãã£ã¹ãå®è£ ããå ŽåããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã©ã®ãããªå Žåã«ã©ã®çšåºŠæªåããããæ確ã«ç解ããå¿ èŠããããŸãã ãããŠããããã¢ããªã±ãŒã·ã§ã³ã«ç¹ã«å¿ èŠãã©ããã決å®ããŸãã
ã»ãã¥ãªãã£ã«ãããã¢ããªã±ãŒã·ã§ã³ã®éçºãšä¿å®ãé£ãããªããŸãã
ã¢ããªã±ãŒã·ã§ã³ãå®è£ ããã»ãã¥ãªãã£ãé«ãã»ã©ãéçºãé£ãããªããŸãã ã»ãã¥ãªãã£ããããã«æ¹åããããã«ãåå¥ã®æ©èœãèšè¿°ããæéã¯æ°åé·ããªãå ŽåããããŸãã
å€ãã®æŽ»åã¯ãå®éã«è匱æ§ããä¿è·ããããã§ã¯ãªãããµã€ããŒç¯çœªè ã®ç掻ãããæ²æšã«ããããã«è²»ããããå¯èœæ§ããããŸãã ãã®å Žåã®æ¥µç«¯ãªäŸãšããŠãREST APIã¡ãœãããšãã®ãã©ã¡ãŒã¿ãŒã®ååã®é£èªåãæããããšãã§ããŸãã
å€ãã®å Žåãéçºè ã¯ããã°ã€ã³ãç»é²ããŸãã¯ãã¹ã¯ãŒãå埩ãã©ãŒã ã䜿çšããŠãæ»æè ããŠãŒã¶ãŒåã®ããŒã¿ããŒã¹ãåéããã®ãé²ãããšã«å€ãã®æéãè²»ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒãæ»æè ãšããŠããŒã¯ããããããã«é¢ããæ å ±ãæäŸããªãå Žåã«ã¢ãããŒããèãåºãããšãã§ããŸãã ãŠãŒã¶ãŒã®ãªã¯ãšã¹ãã¯åã«ç¡èŠãããŸãã
å€èŠçŽ èªèšŒã«ããŠãŒã¶ãŒããšã«åå¥ã®ãç§å¯ã®è³ªåããå«ãŸããŠããå ŽåãååšããªããŠãŒã¶ãŒåã«ã€ããŠã¯ãã¢ããªã±ãŒã·ã§ã³ã«ç§å¯ã®è³ªåã衚瀺ãããå ŽåããããŸãã ããã«ãWebã¢ããªã±ãŒã·ã§ã³ã¯ãåãæ å ±ãäžè²«ããŠèŠæ±ããããã«ããã®ååšããªããŠãŒã¶ãŒã®ååãšåããŠè¡šç€ºããã質åãã»ãã·ã§ã³ãŸãã¯ããŒã¿ããŒã¹ã«ä¿åã§ããŸãã
æ»æè ãæ··ä¹±ãããæ¹æ³ã¯ä»ã«ãæ°çŸãããŸãã ãããããã¡ãããå®è£ ã«ã¯æéãããããŸãã ãããã®ã¡ã«ããºã ã¯ãåªããã³ãŒããšä»éããã³ã¡ã³ãããã£ãŠããç解ããã³ãµããŒãããããšãéåžžã«å°é£ãªå ŽåããããŸãã ããããæãéèŠãªããšã¯ããããã®ããšã¯è匱æ§ãã«ããŒããŠãããããããã®è匱æ§ã®æ€çŽ¢ãè€éã«ããããã ãã«è¡ãããŠãããšããããšã§ãã
ãåªããèšèšãšå®å šãªæ©èœãããæ³åäžã®ããã«ãŒã«ããã¯ã¬ã€ãžãŒãã€ã³ãã²ãŒã ããšåºå¥ããããšã¯å¿ ããã容æã§ã¯ãããŸããã ããã«ããã®å¢çç·ã¯ãã¢ããªã±ãŒã·ã§ã³ãæœåšçãªæ»æè ãåŒãä»ããæ¹æ³ã«å¿ããŠå€åããŸãã
ã»ãã¥ãªãã£ã«ãããã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããé£ãããªããŸã
ãã¹ãŠã®ã«ãŒã«ãšãã§ãã¯ããã¹ãããå¿ èŠããããŸãã åäœãã¹ããçµ±åãã¹ããæåãã¹ã-ç¹å®ã®ã»ãã¥ãªãã£ã¡ã«ããºã ããšã«ã©ã®ã¢ãããŒãã䜿çšãããã決å®ããå¿ èŠããããŸãã
ãã ãã¹ãããããšã¯ã§ããŸããã ãšã©ãŒãã³ãŒãã«å¿ã³èŸŒãããã§ãã ãããŠãæåã«ãšã©ãŒãªãã§ãã¹ãŠãæžãããšããŠãããµããŒããä¿®æ£ããªãã¡ã¯ã¿ãªã³ã°ã®éçšã§ééããªããšã©ãŒãçºçããŸãã 誰ãããã«ã¬ã¬ã·ãŒã³ãŒããæžãããšã¯ãããŸããã åŸã ã«ã¬ã¬ã·ãŒã³ãŒãã«ãªããŸãã
ããžãã¹æ©èœãå³å¯ãªãã¹ããåããå Žåãå®å šã«åççã§ã¯ãããŸããããã»ãã¥ãªãã£ã¡ã«ããºã ã¯ç Žå£äžå¯èœãéã®æã¡ã©ããã®ãªãã絶察çãªãã®ãšèŠãªãããŸãã
ããããã¹ãŠãæåã§ãã¹ãããå Žåãã©ã®ãããã®é »åºŠã§åé¡ãçºçããŸãã REST APIã䜿çšããŠå€å°ãªããšãæŽç·ŽãããWebã¢ããªã±ãŒã·ã§ã³ãããå Žåãæ°çŸã§ã¯ãªãã«ããŠããæ°åã®å Žæã«æœåšçã«å£ããèªèšŒãæœãå¯èœæ§ããããŸãã è匱æ§ã®å žåçãªäŸã¯ãHTTPãªã¯ãšã¹ãã§äœããã®ãã©ã¡ãŒã¿ãŒïŒãŠãŒã¶ãŒIDãªã©ïŒãå€æŽããã¢ã¯ã»ã¹ã§ããªãã¯ãã®æ å ±ãè¿ãããç¶æ³ã§ãã åæ§ã®ãã¹ãŠã®ã±ãŒã¹ããã§ãã¯ããããšã¯ã巚倧ãªäœæ¥ã§ãã ãã¹ãŠã®ã¡ãžã£ãŒãªãªãŒã¹ã®åã«ãããè¡ãå¿ èŠããããŸããïŒ ãã®ããã«å人ãéžæããå¿ èŠããããŸããïŒ ãŸãã¯å¥ã®ããŒã ã§ããïŒ
ãããã®åé¡ã¯éèŠã§ã å£ããèªèšŒãæå¹ã«ããã®ã¯éåžžã«ç°¡åã§ãã ã¢ãã«ã®å€æŽãããã³æ°ããRESTã¡ãœããã§ã¯ããã®è匱æ§ãçŸãããã©ãããåžžã«èæ ®ããå¿ èŠããããŸãã æ®éçã§ã·ã³ãã«ãªãœãªã¥ãŒã·ã§ã³ã¯ãããŸããã ãããããããžã§ã¯ããåé¡ã«äžè²«ããŠå¯ŸåŠã§ããããã«ããããŸããŸãªã¢ãããŒãããããŸãã ããšãã°ãCUBAãã©ãããã©ãŒã ã§ã¯ã ããŒã«ãšã¢ã¯ã»ã¹ã°ã«ãŒãã䜿çšã㊠ã誰ã§ãã¢ã¯ã»ã¹ã§ãããšã³ãã£ãã£ãèšå®ã§ããŸãã ã«ãŒã«ã®æ§æã«ã¯ãŸã å€ãã®äœæ¥ããããŸããããããã®ã«ãŒã«ã«ã¯äžè²«æ§ãšäžè²«æ§ããããããã¡ã³ããã³ã¹ã容æã§ãã
å£ããèªèšŒã«å ããŠããã§ãã¯ãã䟡å€ãããã»ãã¥ãªãã£ã®åé¡ãå€æ°ãããŸãã ãããŠãæ°ãããã§ãã¯ãšã¡ã«ããºã ãå°å ¥ããŠããããã©ã®ããã«ãã¹ããããããèããå¿ èŠããããŸãã é·æéã«ããã£ãŠãã¹ããããŠããªããã®ã¯å£ããã¡ã§ãã ãããŠãéåžžã®ã»ãã¥ãªãã£ããªãã ãã§ãªãããããååšãããšãã誀ã£ãä¿èšŒããããŸãã
ç¹å®ã®åé¡ã¯ã2ã€ã®ã«ããŽãªã®é²åŸ¡ã¡ã«ããºã ã«ãã£ãŠåŒãèµ·ããããŸããçç£ã®ã¿ã«å«ãŸãããã®ãšã第2ïŒç¬¬3ã第4ïŒã¬ãã«ã®ä¿è·ãè¡šããã®ã§ãã
ãããã¯ã·ã§ã³ã§ã®ã¿å®è£ ãããä¿è·ã ã»ãã·ã§ã³ããŒã¯ã³Cookieã«httpsãã§ãã¯ããã¯ã¹ãå¿ èŠã ãšããŸãããã ãã ãããã¹ãç°å¢ã§httpã䜿çšãããŠããå Žåãããã¯ãã¹ããšå®çšŒåçšã«å¥ã ã®æ§æãããããšãæå³ããŸãã ãããã£ãŠã䜿çšãããã®ãæ£ç¢ºã«ãã¹ããããŠããŸããã ãŸãã移è¡äžãŸãã¯äžéšã®å€æŽäžã«ãã®ãã§ãã¯ããŒã¯ããªãã«ãªã£ãå Žåãããã«æ°ä»ããªãå ŽåããããŸãã ãã®åé¡ã解決ããã«ã¯ïŒ éçšåã«å¥ã®ç°å¢ãå°å ¥ããŸããïŒ ãã®å Žåãæ©èœã®ã©ã®éšåããã¹ãããã®ã§ããïŒ
ãã«ãã¬ãã«ä¿è·ã ã»ãã¥ãªãã£ã«ç²Ÿéãã人ã ã¯ãæåã®éå£ãç Žãããå Žåã«ã®ã¿ãã§ãã¯ã§ããä¿è·ãäœæããããšã奜ã¿ãŸãã ã¢ã€ãã¢ã¯åççã§ãã æ»æè ãæåã®éå±€ã§è匱æ§ãèŠã€ãããšããŠãã圌ã¯2çªç®ã«éã蟌ããããŸãã ããããããããã¹ãããæ¹æ³ã¯ïŒ å žåçãªäŸã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒããšã«ç°ãªãdbãŠãŒã¶ãŒã䜿çšããããšã§ãã RESTã«å£ããèªèšŒãå«ãŸããŠããå Žåã§ããæ»æè ã¯ããŒã¿ãç·šé/åé€ã§ããŸããã 圌ã®dbãŠãŒã¶ãŒã«ã¯æš©éããããŸããã ãã¡ããããããã®æ§æã¯å»æ¢ããããµããŒãããã³ãã¹ããããŠããªãå Žåã¯æ©èœããªããªããŸãã
å€ãã®ã»ãã¥ãªãã£ã¯ãã¢ããªã±ãŒã·ã§ã³ã®å®å šæ§ãäœäžãããå¯èœæ§ããããŸãã
ã»ãã¥ãªãã£ãã§ãã¯ãå€ãã»ã©ãè€éããå¢ããŸãã è€éãã倧ããã»ã©ããã¹ãç¯ãããããªããŸãã ééããç¯ãå¯èœæ§ãé«ãã»ã©ãã»ãã¥ãªãã£ã¯æªåããŸãã
ããäžåºŠãã°ã€ã³ãã©ãŒã ãèŠãŠãã ããã 2ã€ã®ãã£ãŒã«ãïŒãŠãŒã¶ãŒåãšãã¹ã¯ãŒãïŒãæã€ãã°ã€ã³ã¯ç°¡åã«å®è£ ã§ããŸãã ã·ã¹ãã ã«ãã®ãããªãŠãŒã¶ãŒããããã©ãããããã³ãã¹ã¯ãŒããæ£ããå ¥åãããŠãããã©ããã確èªããã ãã§ãã ãŸããããªãã¯ãŸãããã°ã€ã³/ãã¹ã¯ãŒããURLãã©ã¡ãŒã¿ã§ã¯ãªãããªã¯ãšã¹ãã®æ¬äœã«ããããšã確èªããå¿ èŠããããŸãã ã¢ããªã±ãŒã·ã§ã³ããšã©ãŒããã°ã€ã³ãŸãã¯ãã¹ã¯ãŒãã®ã©ãã«ãããã瀺åããªãããšã確èªããããšããå§ãããŸã-ãã®ããããŠãŒã¶ãŒã®ãªã¹ãã䜿çšããŠããŒã¿ããŒã¹ãåéããããšã¯ã§ããŸããïŒãã®é ç®ã¯ãããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®ååã§äžéšã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ç¡èŠã§ããŸãïŒã ãããŠãåãã«ãŒããã©ãŒã¹ã¡ã«ããºã ãå®è£ ãããŠããããšã確èªããå¿ èŠããããŸãã ãã¡ãããããã¯ãã§ãŒã«ãªãŒãã³ã®è匱æ§ã«èããå¿ èŠããããŸãã ããã«è¯ãããšã«ãã¯ã©ãã«ãŒã«ãã¯ã©ãã«ãŒããšããŒã¯ããããšã瀺ãããåã«ãªã¯ãšã¹ããç¡èŠãå§ããã-圌ããã°ã€ã³ã«äŸµå ¥ããŠãããšèãç¶ããŠãã ããã ã¯ããéä¿¡ããããã¹ã¯ãŒãããã°ã®ã©ãã«ãèšé²ããªãããšãå¿ããªãã§ãã ããã ãŸãããããŠããªããèŠããŠããå¿ èŠãããããã€ãã®åŸ®åŠãªç¹ã äžè¬ã«ã2ã€ã®ãã£ãŒã«ããæã€éåžžã®ãã°ã€ã³ãã©ãŒã ãããåçŽãªãã®ã¯äœã§ããïŒ
ãã1ã€ã¯ãå€èŠçŽ èªèšŒã§ãã ã¡ãŒã«ãŸãã¯SMSã§äœããã®ããŒã¯ã³ãéä¿¡ããå Žæã ãŸãã¯ãè¿œå ããŒã¿ãå ¥åããå¿ èŠãããå Žæã ãŸãã¯ãããã€ãã®æé ãå®è¡ããŠãèªåã«é¢ããæ å ±ãåŸã ã«å ¥åããå¿ èŠããããŸãã ããã¯ãã¹ãŠè€éã§ãã çè«çã«ã¯ããããã®è¿œå ãã§ãã¯ã¯ãã¹ãŠããããã³ã°ã®å¯èœæ§ãæžããã¯ãã§ãã ãã¹ãŠãæ£ããå®è£ ãããŠããã°ãããã¯äºå®ã§ãã ãããã³ã°ã®å¯èœæ§ã¯æ®ããŸããïŒSMSãé»åã¡ãŒã«ã¡ãã»ãŒãžããŸãã¯ãããã³ã°ã«å¯Ÿãã100ïŒ ã®ä¿èšŒã¯ãããŸããïŒãæžå°ããŸãã ãããããã§ã«éåžžã«è€éãªèªèšŒããžãã¯ã¯ããã«è€éã«ãªããã©ããã§ééããç¯ãããããªããŸãã å°ãªããšã1ã€ã®ãšã©ãŒãŸãã¯1ã€ã®èª€ã£ãä»®å®ãååšããããããã®ã¢ãã«å šäœã¯ã2ã€ã®ãã£ãŒã«ããæã€åçŽãªãã©ãŒã ãããå®å šæ§ãäœããªããŸãã
ããã«ãè¿·æã§äžäŸ¿ãªã»ãã¥ãªãã£å¯Ÿçã«ããããŠãŒã¶ãŒã¯æ å ±ã®å®å šæ§ãäœäžããå¯èœæ§ããããŸãã ããšãã°ãäŒæ¥ãããã¯ãŒã¯ã§æ¯æãã¹ã¯ãŒããå€æŽããå¿ èŠãããå Žåããããã®å¥åŠãªèŠä»¶ãå®å šã«ç解ã§ããªããŠãŒã¶ãŒã¯ãã¹ããã«ãŒã«ãã¹ã¯ãŒããæžãå§ããã¢ãã¿ãŒã«è²Œãä»ããã ãã§ãã ãããã¯ããŠãŒã¶ãŒããã®ãããªæããªééããç¯ããå Žåã®ãŠãŒã¶ãŒã®åé¡ã§ãã-ããªãã¯å察ããããšãã§ããŸãã ããããéããŸãã ãããããªãã®åé¡ã§ãã æåŸã«ãã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã¯ãããã®åããŠãŒã¶ãŒã§ã¯ãªãã®ã§ããïŒ
ããã äœãææ¡ããŸããïŒ
éçºã®æåããæ»æè ã欺ãããã«ã©ããŸã§é²ãã§ãããã決ããããšããå§ãããŸãã ãã°ã€ã³èŠæ±ãžã®å¿çæéããã®ååã®ãŠãŒã¶ãŒãååšãããã©ããã決ããŠåºããªãããã«ããã°ã€ã³ãã©ãŒã ãæé©åããæºåãã§ããŠããŸããïŒ ãããã³ã°ã®è¢«å®³è ã®å人ãé»è©±ãæã«æã£ãŠããŠãã³ã³ãã¥ãŒã¿ãŒããã§ãç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã«å ¥ãããšãã§ããªããããªèªèšŒãã§ãã¯ãå®è£ ããæºåã¯ã§ããŠããŸããïŒ æã«ã¯éçºãè€éã«ããäºç®ãšéçºæéãå€§å¹ ã«å¢ãããæ»æè ã®ç掻ãããå°ãè€éã«ããããã«åªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãç ç²ã«ããæºåã¯ã§ããŠããŸããïŒ
ã»ãã¥ãªãã£ã«ç¡éã«åãçµã¿ãæ°ããã¬ãã«ã®ä¿è·ã匷åãããŠãŒã¶ãŒã®è¡åã®ç£èŠãšåæãæ¹åããŠãæ å ±ã®ååŸãå°é£ã«ããããšãã§ããŸãã ç§ãã¡ããã¹ãããšãšããå¿ èŠã®ãªãããšããç§ãã¡ãéãŠãç·ããªããã°ãªããŸããã ãã¡ããããããžã§ã¯ãã®éçºäžã«ããã®æ©èœãåèããŠå€æŽããããšãã§ããŸãã
ææªã®ã·ããªãªã§ã¯ãå¥ã®å Žæã®ã¢ããªã±ãŒã·ã§ã³ã«å€§ããªã»ãã¥ãªãã£éåãããå Žåããããžã§ã¯ãã¯1ã€ã®ã¿ã€ãã®æ»æã«å¯ŸããŠäŸµå ¥ã§ããªãå£ãæ§ç¯ããããã«å€ãã®ãªãœãŒã¹ãè²»ããããšãã§ããŸãã
ç¹å®ã®ã»ãã¥ãªãã£ã¡ã«ããºã ã䜿çšããããå¥ã®ã¬ãã«ã®ä¿è·ãèšå®ããããéžæããéã«ã¯ãå€ãã®èŠå ãèæ ®ããå¿ èŠããããŸãã
- ãã®è匱æ§ã®æªçšã¯ã©ããããç°¡åã§ããïŒ å£ããèªèšŒã¯éåžžã«äœ¿ããããããã®ããã®æè¡çãªèæ¯ãå¿ èŠãšããŸããã ãããã£ãŠããã®åé¡ã«ã¯ããªãã®æ³šæãæãå¿ èŠããããŸãã
- ãã®è匱æ§ã¯ã©ãã»ã©éèŠã§ããïŒ æ»æè ãä»ã®ãŠãŒã¶ãŒã®æ å ±ã«ã¢ã¯ã»ã¹ããããä»ã®ãŠãŒã¶ãŒã®æ å ±ãå€æŽã§ããå Žåãããã¯æããã«éåžžã«éèŠãªåé¡ã§ãã æ»æè ãã·ã¹ãã å ã®ç¹å®ã®è£œåã®IDãåéã§ãããããããã®IDã§äœãã§ããªãå Žåãåé¡ã®éèŠæ§ã¯æ°åäœããªããŸãã
- ãµã€ãã®ã»ãã¥ãªãã£ãå®è£ ãããšãã©ãã ãå¢å ããŸããïŒ æåã®ä¿è·ã¬ãã«ã§ã¯ãªãå ŽåïŒããšãã°ãåpoståºå°ããµãã¿ã€ãºããããã®é©åãªã¡ã«ããºã ãæ¢ã«å®è£ ãããŠããå Žåã«å ¥åã®XSSåé¡ããã§ãã¯ããïŒããŸãã¯æ»æè ãããã«æ··ä¹±ãããã ãã®å ŽåïŒã¢ã¯ã·ã§ã³ããããã¯ãã代ããã«ããªã¯ãšã¹ããç¡èŠããŠã ãæ»æãèªèããªãã£ããšããããšã§ãïŒ-ãããã®å€æŽã®åªå 床ã¯ãå®è£ ããå¿ èŠãããå Žåã§ãããã»ã©é«ããããŸããã
- ã©ããããæéãããããŸããïŒ
- ãã®å€æŽã®çµæããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã¯ã©ã®çšåºŠæªåããŸããïŒ
- ä¿å®ãšãã¹ãã¯ã©ããããé£ããã§ããïŒ çŠæ¢ãããŠãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããšãããš403ã³ãŒãã䜿çšãããåžžã«404ãè¿ããããæ¢åã®èå¥åã«é¢ããæ å ±ãåéããã®ãé£ãããªããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãçã«ããªã£ãŠãããå®éã«æ»æè ã®ç掻ãããå°é£ã«ããŸãããåæã«ããã¹ããçç£ã®ãšã©ãŒã®åæãè€éã«ãããŠãŒã¶ãŒã«ãããååŸããååãªæš©éããªãããšãäŒããã®ã§ã¯ãªãããŠãŒã¶ãŒã®è¯å®çãªãšã¯ã¹ããªãšã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããªãœãŒã¹ããã®ãããªãªãœãŒã¹ã¯ååãšããŠååšããªããšèšããŸãã
ã¯ã ç¹å®ã®ã±ãŒã¹ã§ã¯ãè€éãªå€èŠçŽ èªèšŒãå¿ èŠã«ãªãå ŽåããããŸãã ãããããµããŒããšéçºãã©ãã»ã©é£ãããããããŠãããã©ãã»ã©ã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒãã¬ã³ããªãŒæ§ãäœäžãããããèªèããŠããå¿ èŠããããŸãã
ã»ãã¥ãªãã£ã®æ æ ¢ãæ£åœåãã
ãŸããã ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãšéçºã³ã¹ããç ç²ã«ããŠããè¿œå ã®ä¿è·ãå¿ èŠã«ãªãå¯èœæ§ã®ããã»ãã¥ãªãã£ã«ææãªã¢ããªã±ãŒã·ã§ã³ããããŸãã
ãŸãããšã«ãããã¢ããªã±ãŒã·ã§ã³ã®ç®çã«é¢ä¿ãªããæã€ããšãèš±ãããªãè匱æ§ãããã€ããããŸãã CSRFã¯ãã®ãããªè匱æ§ã®äŸã§ãã æããã«ãããšæŠãããšã¯ããŠãŒã¶ãŒäœéšãæªåããããéçºã倧ããè€éã«ããŸããã å€ãã®ãµãŒããŒåŽïŒSpring MVCãªã©ïŒããã³ã¯ã©ã€ã¢ã³ãåŽïŒAngularãªã©ïŒã®ãã¬ãŒã ã¯ãŒã¯ã«ãããCSRFããŒã¯ã³ãããã«ãµããŒãã§ããããã«ãªããŸãã ããã«ãåãSpring MVCã䜿çšããŠãããã€ãã®å¿ èŠãªããããŒïŒAccess-Control- *ããããŒãContent-Security-PolicyïŒãè¿œå ããããšãéåžžã«ç°¡åãªã¿ã¹ã¯ã§ãã
å£ããèªèšŒãXSSãSQLã€ã³ãžã§ã¯ã·ã§ã³ãããã³ãã®ä»ã®è匱æ§ã¯ãã¢ããªã±ãŒã·ã§ã³ã§ã¯èŠã€ãããŸããã ãããããã®ä¿è·ã¯ç解ãããããå€æ°ã®æ¬ãèšäºã®æ£ã«ãŸãšããããŠããŸãã ããã§ã¯ãURLãã©ã¡ãŒã¿ãŒå ã®æ©å¯æ å ±ã®è»¢éãŸãã¯åŒ±ãããã·ã¥ããããã¹ã¯ãŒãã®ä¿åãé©çšãããŸãã
çæ³çã«ã¯ããããžã§ã¯ãã¯ã»ãã¥ãªãã£ããªã·ãŒã管çãããããã§ã¹ããæã€å¿ èŠããããŸããäœãã©ã®ããã«ä¿è·ãããããã¹ã¯ãŒãããªã·ãŒã®èª¬æããã¹ã察象ãªã©ã§ãã ãã®ãããã§ã¹ãã¯ããããžã§ã¯ãããšã«ç°ãªããŸãã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã³ãã³ããžã®ãŠãŒã¶ãŒå ¥åã®æ¿å ¥ããããããžã§ã¯ãã«ã¯ãã€ã³ãžã§ã¯ã·ã§ã³OSã³ãã³ãã«å¯Ÿããä¿è·ã®èª¬æãå«ãŸããŸãã ãŠãŒã¶ãŒãèªåã®ãã¡ã€ã«ããµãŒããŒïŒã¢ãã¿ãŒãå«ãïŒã«ã¢ããããŒãã§ãããããžã§ã¯ãã§ã¯ããã®å Žåã«çŸããå¯èœæ§ã®ããåºæ¬çãªè匱æ§ã®èª¬æãå¿ èŠã§ãã
ãã¡ããããã®ãããªãããã§ã¹ããæžããŠç¶æããã®ã¯ç°¡åãªããšã§ã¯ãããŸããã ããããããŒã ã®åã¡ã³ããŒïŒãã¹ãããŒã ãšãµããŒãããŒã ãå«ãïŒããããžã§ã¯ãã§åŸãã¹ããã©ã¯ãã£ã¹ãèšæ¶ããããããäžè²«ããŠäžè²«ããŠå®è£ ããããšãåžæããããšã¯åçŽã§ãã ããã«ãåé¡ã¯å€ãã®è匱æ§ã«å¯ŸããŠãããã€ãã®é²æ¢ãªãã·ã§ã³ãããããšã§ãã ãŸããæ確ã«å®çŸ©ãããããªã·ãŒããªãå Žåãããå Žæã§ã¯ãããã©ã¯ãã£ã¹ïŒããšãã°ãå ¥åãã©ã¡ãŒã¿ãŒã®æ€èšŒïŒãé©çšãããå¥ã®ãã©ã¯ãã£ã¹ã§ã¯-éïŒããšãã°ãåºåãã©ã¡ãŒã¿ãŒã®æ€èšŒïŒãé©çšãããå ŽåããããŸãã äžéšã®å Žæã§ã¯ããµãã¿ã€ãºã䜿çšãããäžéšã§ã¯æ€èšŒãšã©ãŒã®éå§ã䜿çšãããŸãã ãŸãããããã®ããŸããŸãªã¡ã«ããºã ãéåžžã«ããŸãå®è£ ãããŠããŠãããã°ãçºçãããããµããŒããå°é£ã«ãªã£ãããã³ãŒãã«é¢ãã誀ã£ãæåŸ ã圢æããããããããã®äžæŽåã¯è¯ãå Žæã§ãã
ããŒã ãå°ããããã¯ãã«ã«ãããŒãžã£ãŒãå€æŽãããŠããããã»ãã¥ãªãã£ããªã·ãŒãéçºãããŠããå Žåããããã§ã¹ãããªããŠããã®ãããªåé¡ãåé¿ããã«ã¯ã絶ãéãªãã³ãŒãã¬ãã¥ãŒã§ååã§ãã
çµè«ïŒ
- ã»ãã¥ãªãã£ã«åãçµããšãããµã€ããã»ãã¥ãªãã£ã«å¯ŸããŠã©ãã ãææã§ããããèæ ®ããå¿ èŠããããŸãã éè¡ã¢ããªãšéžè©±å ¬éã¢ããªã«ã¯ãç°ãªãã¢ãããŒããå¿ èŠã§ãã
- ã»ãã¥ãªãã£ã«åãçµãå Žåãå€æŽã®çµæãšããŠãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãã©ã®çšåºŠæªåããããèæ ®ããå¿ èŠããããŸãã
- ã»ãã¥ãªãã£ã«åãçµããšãã¯ããã®æ±ºå®ã«ãã£ãŠã³ãŒããã©ãã»ã©è€éã«ãªãããµããŒããããèŠçã«ãªãããèæ ®ããå¿ èŠããããŸãã
- ã»ãã¥ãªãã£ã¡ã«ããºã ããã¹ãããå¿ èŠããããŸãã
- ããŒã ã§ã¯ãã»ãã¥ãªãã£ã®åé¡ã«é¢ããæè²æŽ»åãå°å ¥ããããäœæ¥å šäœã培åºçãªã»ãã¥ãªãã£ã¬ãã¥ãŒã«ãããããšããå§ãããŸãã
- ä»»æã®ã¬ãã«ã®Webã¢ããªã±ãŒã·ã§ã³ïŒxssãxsrfãã€ã³ãžã§ã¯ã·ã§ã³ïŒSQLãå«ãïŒãå£ããèªèšŒãªã©ïŒãåãé€ãããšãæãŸããè匱æ§ããããŸãã