1. Webãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã®æŠèŠ
ãã®ç¯ã§ã¯ãWebãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªæŠèŠã«ã€ããŠè§£èª¬ããŸããããã«ã¯ãWebãã¬ãŒã ã¯ãŒã¯ã®å®çŸ©ãåºçŸèæ¯ãäž»ãªçšéãšæ©èœããããŠå©ç¹ãšæ¬ ç¹ãå«ãŸããŸãã
1.1 Webãã¬ãŒã ã¯ãŒã¯ã®å®çŸ©ãšã¯
Webãã¬ãŒã ã¯ãŒã¯ãšã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãå©ããããã®ããŒã«ã®äžã€ã§ãå®åçãªäœæ¥ãèªååããŸããéçºè ã¯ããã«ãã£ãŠãã¢ããªã±ãŒã·ã§ã³ã®åºç€ãçæéã§æ§ç¯ã§ããããå ·äœçãªæ©èœã®éçºã«éäžããããšãã§ããŸãã
ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãMVCïŒModel-View-ControllerïŒã®ãããªèšèšãã¿ãŒã³ãçµã¿èŸŒãŸããŠãããçæ³çãªã³ãŒãæ§é ã匷å¶ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®ä¿å®æ§ãåäžããŸãã
ãŸããã©ã€ãã©ãªããã³ãã¬ãŒãã·ã¹ãã ãã»ãã·ã§ã³ç®¡çãªã©ãã¢ããªã±ãŒã·ã§ã³éçºã«å¿ èŠãªåºæ¬çãªæ©èœãåãã£ãŠããŸãã
1.2 Webãã¬ãŒã ã¯ãŒã¯ã®åºçŸèæ¯
Webãã¬ãŒã ã¯ãŒã¯ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãè€éåããããšãèæ¯ã«åºçŸããŸãããåæã®ã€ã³ã¿ãŒãããã§ã¯ãWebããŒãžã¯éçã§ãHTMLã®ã¿ã§æ§æãããŠããŸããã
ããããçŸä»£ã®Webãµã€ãã¯ãããŒã¿ããŒã¹ããã®åçãªããŒã¿è¡šç€ºãããŠãŒã¶ãŒã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãæ±ãããããããWebããŒãžã®çæã管çãè€éåããŸããã
ãã®çµæãæšæºçãªéçºã¿ã¹ã¯ãèªååããéçºãå¹çåããããŒã«ãå¿ èŠãšãªããWebãã¬ãŒã ã¯ãŒã¯ãç»å Žããã®ã§ãã
1.3 Webãã¬ãŒã ã¯ãŒã¯ã®äž»ãªçšéãšæ©èœ
Webãã¬ãŒã ã¯ãŒã¯ã®äž»ãªçšéã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãå¹çåããããšã§ããå ·äœçãªæ©èœãšããŠã¯ã
ãŸããã«ãŒãã£ã³ã°æ©èœããããŸããããã¯URLã®ãã¿ãŒã³ãç¹å®ã®ã³ã³ãããŒã©ãŒã¢ã¯ã·ã§ã³ã«ãããã³ã°ãã圹å²ãæ ã£ãŠããŸãã
次ã«ãããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãæœè±¡åããããŒã¿ã¢ãã«ãäœæãæäœããããã®æ©èœããããŸããããã«ãããSQLã³ãŒãã®ææžããé¿ããããŒã¿ããŒã¹ã®æäœãã·ã³ãã«ã«è¡ããŸãã
1.4 Webãã¬ãŒã ã¯ãŒã¯ã®å©ç¹ãšæ¬ ç¹
Webãã¬ãŒã ã¯ãŒã¯ã®æ倧ã®å©ç¹ã¯ãéçºé床ã®åäžã§ããå®åçãªã³ãŒããèªååããããšã§ãéçºè ã¯éèŠãªæ©èœã®å®è£ ã«éäžã§ããŸãã
ãŸããå€ãã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯ãã»ãã¥ãªãã£å¯Ÿçã®æ©èœãçµã¿èŸŒãŸããŠããŸããããã«ãããXSSæ»æãSQLã€ã³ãžã§ã¯ã·ã§ã³ãCSRFæ»æãªã©ããã¢ããªã±ãŒã·ã§ã³ãä¿è·ããããšãã§ããŸãã
äžæ¹ã§ãæ¬ ç¹ãšããŠã¯ããã¬ãŒã ã¯ãŒã¯ããšã«åŠç¿ã³ã¹ããå¿ èŠãšãªããŸãããŸããå šãŠããã¬ãŒã ã¯ãŒã¯ã«äŸåããŠããŸããšããã¬ãŒã ã¯ãŒã¯ãã®ãã®ã®å¶éã«çŽé¢ããå¯èœæ§ããããŸãã
2. äž»èŠãªWebãã¬ãŒã ã¯ãŒã¯ã®æ¯èŒ
ãåç¥ã®éããWebã¢ããªã±ãŒã·ã§ã³ãéçºããéã«ã¯å€ãã®ãã¬ãŒã ã¯ãŒã¯ãå©çšã§ããŸããããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ç¬èªã®ç¹æ§ãšåªäœæ§ãæã€ããã䜿çšããç®çãç¶æ³ã«ãã£ãŠéžæãåãããŸããããã§ã¯ãäž»èŠãªWebãã¬ãŒã ã¯ãŒã¯ïŒDjangoãRuby on RailsãSpring BootãLaravelïŒã®ç¹åŸŽãšäœ¿ãæã«ã€ããŠè§£èª¬ããŸãã
2.1 DjangoïŒPythonçšã®MVCãã¬ãŒã ã¯ãŒã¯
Djangoã¯Pythonèšèªã§éçºãããMVCãã¬ãŒã ã¯ãŒã¯ã§ãå ç¢æ§ãšæ¡åŒµæ§ã®é«ããç¹åŸŽã§ããé«åºŠãªã»ãã¥ãªãã£æ©èœãæã€äžæ¹ãã³ãŒãã®éãå¢ãããããšããæ¬ ç¹ããããŸãã
ãããããã®å®çžŸãšãã¬ã¹ãã³ã·ããã¶ã€ã³ãªã©çŸä»£ã®Webéçºã«å¿ é ãªæ©èœãå šãŠå å«ããŠããç¹ã¯é åã§ãããŸããPythonèªäœãAIãæ©æ¢°åŠç¿ã«äœ¿ãããããšã®å€ãèšèªã§ããããããã®ãããªèŠçŽ ãåãå ¥ããã¢ããªéçºã«ãé©ããŠããŸãã
ç¹ã«ãã³ãŒãã®å¯èªæ§ãä¿å®æ§ãéèŠããäŒæ¥ãéçºè ã«é©ãããã¬ãŒã ã¯ãŒã¯ãšèšããã§ãããã
2.2 Ruby on RailsïŒRubyã®ãã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯
Ruby on RailsïŒé称RoRïŒã¯ãRubyèšèªã«ãããã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯ã§ãè¿ éãªéçºãå¯èœãªããšã§ç¥ãããŠããŸãããConvention over Configurationãã®ååã«åºã¥ããèšå®ãããèŠçŽã«åŸãããšãéèŠããŠããŸãã
ããã«ãããåããŠäœ¿ã人ã§ãããã«æ £ããããšãã§ããå¹ççã«éçºãé²ããããŸãããŸãã瀟äŒçãªèŠå ãRoRã®éžæãåŸæŒãããŠããŸããRubyã¯åå¿è ã«ãæ±ããããèšèªã§ãã³ãã¥ããã£ãéåžžã«æŽ»çºã§ãã
åããŠWebã¢ããªã±ãŒã·ã§ã³éçºãè¡ã人ããããè¿ éã«éçºãé²ãããå Žåã«ããããã®ãã¬ãŒã ã¯ãŒã¯ãšèšããŸãã
2.3 Spring BootïŒJavaçšã®ãã¬ãŒã ã¯ãŒã¯
Spring Bootã¯ãJavaããã°ã©ã ã®ãã¬ãŒã ã¯ãŒã¯ã§ããšã³ã¿ãŒãã©ã€ãºåãã®ã·ã¹ãã éçºã«æé©ã§ãããã®æ©èœã®è±å¯ããšãã¬ãã·ããªãã£ãç¹åŸŽã§ãJavaEEã®ç ©éãã解æ¶ããããã«ç¹ã«èšèšãããŸããã
æå¹ãªã³ã³ããŒãã³ããèªåçã«éžæã»é 眮ãããªãŒãã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³æ©èœããã¢ããªã±ãŒã·ã§ã³ã®èç©ç¶æ ãå¯èŠåããActuatorãªã©ãéçºå¹çã®åäžã«å¯äžããããŒã«ãåãã£ãŠããŸãã
倧èŠæš¡ãªããžãã¹ã¢ããªã±ãŒã·ã§ã³éçºã«æé©ãªãã¬ãŒã ã¯ãŒã¯ãšèšããã§ãããã
2.4 LaravelïŒPHPçšã®MVCãã¬ãŒã ã¯ãŒã¯
Laravelã¯PHPã®MVCãã¬ãŒã ã¯ãŒã¯ã§ããã®å©äŸ¿æ§ãšæŽç·Žããããã¶ã€ã³ãè©äŸ¡ãããŠããŸããåå¿è ã§ã䜿ããããã·ã³ã¿ãã¯ã¹ãšã³ãŒããçŸããããšã§ãPHPãã¬ãŒã ã¯ãŒã¯ã®äžã§ãæçšè ãå€ãã§ãã
ãªããžã§ã¯ãæåã®èšèšååã«åºã¥ããäžã€å€æ©èœã§ãããããã¹ã¿ãŒãã¢ããããæ¢åã®å€§äŒæ¥ãŸã§å¹ åºãéçºç°å¢ã«å¯Ÿå¿ããŸãããŸãããã¹ãèªååãã»ãã¥ãªãã£å¯Ÿçãªã©ã®æçãããšã³ã·ã¹ãã ãåããŠããŸãã
è±å¯ãªã©ã€ãã©ãªãšæ©èœã䜿ãããããããããã¯ãšã³ãéçºè ããæ¯æãåããŠããŸãã
3. Webãã¬ãŒã ã¯ãŒã¯ã®éžææ¹æ³
Webãã¬ãŒã ã¯ãŒã¯ã®éžæã¯ããããžã§ã¯ãæåã®éµãæ¡ã倧åãªããã»ã¹ã§ããéžæã®ãã€ã³ãã¯äºæ¥ç®æšãšæè¡èŠä»¶ã®æŽçãå®è£ ã§ããããŒã ã®ã¹ãã«ã»ãããã³ãã¥ããã£ã®æŽ»æ§åºŠããããŠããã¥ã¡ã³ããŒã·ã§ã³ã®å å®åºŠã®4ã€ã§ãã
ãããã®èŠ³ç¹ãããé©åãªãã¬ãŒã ã¯ãŒã¯ãéžæããŸãããã
ããã§ã¯ããããã®èŠ³ç¹ã«ã€ããŠäžã€ãã€è©³ããèŠãŠãããŸãããã
3.1 äºæ¥ç®æšãšæè¡èŠä»¶ã®æŽç
æåã«èæ ®ãã¹ãã¯ãããªãã®éçºãããžã§ã¯ããç®æãäºæ¥ç®æšãšæè¡èŠä»¶ã§ãããã©ã®ãããªæ©èœãæã€ã¢ããªãäœãããã®ããããã®ããã«ã¯ã©ã®ãããªæè¡ãå¿ èŠãªã®ãããæ確ã«ããŸãã
ãã®æ®µéã§ã¯ããããžã§ã¯ãã®ã¹ã³ãŒããç®æšãèŠä»¶ãæ確ã«å®çŸ©ãããã®åºæºã«é©åãããã¬ãŒã ã¯ãŒã¯ãæŽãåºãããšãæ±ããããŸãã
ãŸããåæã«æ¢åã®ã·ã¹ãã ãšã®é£æºããå°æ¥çãªæ©èœæ¡åŒµã®å¯èœæ§ãèããŠããããšãéèŠã§ãã
3.2 å®è£ ã§ããããŒã ã®ã¹ãã«ã»ãã
次ã«éèŠãªã®ããéçºããŒã ã®ã¹ãã«ã»ããã§ããéžæãããã¬ãŒã ã¯ãŒã¯ã¯ãããŒã ãç¿çããŠããæè¡ããŸãã¯çæéã§ç¿åŸå¯èœãªæè¡ã§ããã¹ãã§ãã
ãã®ãããããŒã ã察å¿ã§ããæè¡ç¯å²ãç¿åŸã®ãããããããã¬ãŒã ã¯ãŒã¯éžæã®éèŠãªèŠçŽ ãšãªããŸãã
ããã«ãããéçºå¹çã®åäžããå質ã®å®å®åãå³ãããšãå¯èœãšãªããŸãã
3.3 ã³ãã¥ããã£ã®æŽ»æ§åºŠ
ããããã®éçºè ã掻åããŠãããã¬ãŒã ã¯ãŒã¯ã¯ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãæ°ããã¢ã€ãã¢ãåŸãããã®ãªãœãŒã¹ãè±å¯ã§ãã
åŸã£ãŠãã³ãã¥ããã£ã®æŽ»æ§åºŠã¯ããã¬ãŒã ã¯ãŒã¯ã®éžæã«ãããŠéèŠãªèŠ³ç¹ãšãªããŸãããã®æŽ»æ§åºŠã¯ããã©ãŒã©ã ã®æŽ»çºãããGitHubäžã§ã®ã¹ã¿ãŒæ°ãªã©ã§ç¢ºèªããããšãã§ããŸãã
掻çºãªã³ãã¥ããã£ã¯ãæ°çæ¬ã®ãªãªãŒã¹ããã°ãã£ãã¯ã¹ã®ã¹ããŒããæ©ããæè²ãªãœãŒã¹ã«ãæµãŸããŠããŸãã
3.4 ããã¥ã¡ã³ããŒã·ã§ã³ã®å å®åºŠ
è¯è³ªãªããã¥ã¡ã³ããŒã·ã§ã³ã¯ãæ°ãã«æè¡ãåŠã¶éçºè ã®å©ããšãªããéçºã®ã¹ããŒããäžããŸãã
ãŸããå å®ããããã¥ã¡ã³ããŒã·ã§ã³ã¯ãåé¡ãçºçãããšãã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«ãè²¢ç®ããŸãããã®ãããããã¥ã¡ã³ããŒã·ã§ã³ã®å å®åºŠã¯ããã¬ãŒã ã¯ãŒã¯ã®éžæã«éèŠãªèŠçŽ ãšãªããŸãã
ãã¹ãŠã®ãã¬ãŒã ã¯ãŒã¯ãè¯è³ªãªããã¥ã¡ã³ããŒã·ã§ã³ãæäŸããŠããããã§ã¯ãããŸããããã®ãããããã¥ã¡ã³ããŒã·ã§ã³ã®è³ªãšæŽå床ã確èªããããšã¯å¿ èŠã§ãã
4. ãããžã§ã¯ãèšèšãšãã¬ãŒã ã¯ãŒã¯ã®å°å ¥
Webã¢ããªã±ãŒã·ã§ã³ã®éçºéçšã«ãããŠããããžã§ã¯ãèšèšãšãã¬ãŒã ã¯ãŒã¯ã®éžå®ã»å°å ¥ã¯ãéåžžã«éèŠãªããã»ã¹ã§ãããããã¯ãããžã§ã¯ãã®æåãå·Šå³ããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãã¡ã³ããã³ã¹ã®å®¹ææ§ã«çŽæ¥åœ±é¿ããŸãããã®ç« ã§ã¯ããããžã§ã¯ãèšèšãšãã¬ãŒã ã¯ãŒã¯ã®å°å ¥ã«ã€ããŠè©³ãã説æããŸãã
4.1 ãããžã§ã¯ãæ§é ã®èšèš
ãããžã§ã¯ãæ§é ã®èšèšã¯ãããŒã ãäžäœãšãªãããšãã£ã·ãšã³ãã«äœæ¥ãé²ããããã®éèŠãªã¹ãããã§ããããã§ã®äž»ãªç®æšã¯ãæ©èœãã³ã³ããŒãã³ããããžã«ã«ã«çµç¹åããåŸè ã®åå©çšãšæåã®æç»æéã®æé©åãä¿é²ããããšã§ãããã®æ®µéã§ã¯ãã¢ããªã±ãŒã·ã§ã³å šäœã®æ©èœãšããããã©ã®ããã«é£æºããããèããŸãã
ãããžã§ã¯ãæ§é ã®èšèšã¯æ©å²ãã«è¡ãã¹ãã§ãããã§ã®å€±æã¯åŸã®éçºãã§ãŒãºã§å€§ããªãã©ãã«ãåŒãèµ·ããå¯èœæ§ããããŸãã
4.2 ããŒã¿ã¢ããªã³ã°ãšãã¬ãŒã ã¯ãŒã¯ã®æ§æ
ããŒã¿ã¢ããªã³ã°ã¯ãè€éãªããžãã¹ããžãã¯ã管çããä¿å®æ§ãæ¡åŒµæ§ãããã©ãŒãã³ã¹ãåäžãããã®ã«éèŠãªç¯çã§ããããŒã¿ã¢ããªã³ã°ã§ã¯ãããŒã¿ã®ãããŒãšæ€èšŒãäžå¿çãªåœ¹å²ãæãããŸãã
äžæ¹ã§ãéžæãããã¬ãŒã ã¯ãŒã¯ã®æ§æã«ãããããŒã¿ã¢ããªã³ã°ã¯ããã«åŒ·åãããŸããäŸãã°ããã¬ãŒã ã¯ãŒã¯ã®ç¹å®ã®æ©èœãå©çšããŠãCRUDæäœãç°¡åã«å®è£ ããããè€éãªããžãã¹ããžãã¯ãç°¡ç¥åãããã§ããŸãã
4.3 ãã¬ãŒã ã¯ãŒã¯ã®ã»ããã¢ãããšæ§æ
ãã¬ãŒã ã¯ãŒã¯ã®ã»ããã¢ãããšæ§æã¯ãéçºããã»ã¹ãå§ããããã®åºç€çãªã¹ãããã§ããããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«ãå¿ èŠãªããã«ãŠã§ã¢ã®ã»ããã¢ãããããŒã¿ããŒã¹ãšã®æ¥ç¶èšå®ãªã©ãå«ãŸããŸãã
ãã¬ãŒã ã¯ãŒã¯ã®éžæã«ããããã®ããã»ã¹ã¯ç°ãªããŸãããã®ç« ã§ã¯ãäžè¬çãªã»ããã¢ãããšæ§æã®æ çµã¿ã«ã€ããŠèª¬æããŸãã
4.4 ãã¬ãŒã ã¯ãŒã¯ã®ãã¹ã
ãã¬ãŒã ã¯ãŒã¯ã®ãã¹ãã¯éçºããã»ã¹ã®äžã§éåžžã«éèŠã§ãããã¹ããéããŠãããæ£ããåäœããããšãä¿èšŒããäºæããªããšã©ãŒããã°ãé²ãããã§ãã
ãã¹ãããã»ã¹ã«ã¯ãåäœãã¹ããçµåãã¹ããã¹ã¢ãŒã¯ãã¹ããæ§èœãã¹ããªã©ãå«ãŸããŸãããããã®å šãŠãéèŠã§ãããåæã«åœŒããéçºã®é床ãšå質ããã©ã³ã¹è¯ãç¶æãã圹å²ãæãããŠããŸãã
5. Webã¢ããªéçºã®å®è·µ
çŸä»£ã®Webéçºã«ãããŠãã¬ãŒã ã¯ãŒã¯ã¯äžå¯æ¬ ãªååšã§ãããã¬ãŒã ã¯ãŒã¯ã¯ããã§ã«å€ãã®å ±éã³ãŒããäœæããã³æé©åããŠãããŠããŸããããã«ãããéçºè ã¯å ·äœçãªã¢ããªã±ãŒã·ã§ã³ããžãã¯ã«éäžã§ããŸããããã§ã¯ããã¬ãŒã ã¯ãŒã¯ã䜿ã£ãWebã¢ããªéçºã®å®è·µçãªäžäŸã詳ãã解説ããŠãããŸãã
éçºã«ãããéèŠãªèŠçŽ ãäœããã©ã®ãã¬ãŒã ã¯ãŒã¯ããã®ããŒãºãæºããããç¥ãããšãéèŠã§ãããã¬ãŒã ã¯ãŒã¯ã®éžæãããã³ããšã³ãéçºãããã¯ãšã³ãéçºãã»ãã¥ãªãã£å¯ŸçããããŠããã©ãŒãã³ã¹ã®æé©åã«ã€ããŠé ãè¿œã£ãŠèª¬æããŠãããŸãã
çæ³çãªãã¬ãŒã ã¯ãŒã¯ã¯ã¢ããªã±ãŒã·ã§ã³ã®ç®çãèŠæš¡ãéçºè ã®ã¹ãã«ã»ããã«ãããŸãããã ããæçµçã«ã¯ããã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠãããžã§ã¯ããæåãããããšãç®çã§ãã
5.1 ããã³ããšã³ãéçº
ããã³ããšã³ãéçºãšã¯ããŠãŒã¶ãŒãçŽæ¥è§Šããéšåã®éçºã§ãããŠãŒã¶ã€ã³ã¿ãŒãã§ãŒã¹(UI)ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹(UX)ã®æ¹è¯ã«æ³šåããŸãããã䜿ããããã¬ãŒã ã¯ãŒã¯ã«ã¯ReactãAngularãVue.jsãªã©ããããŸãã
ãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã³ã³ããŒãã³ãããŒã¹ã®ã¢ãããŒãã®æ¡çšããããŠã¹ããŒã管çãªã©ã®æ©èœãæããŠããŸããããã«ãããããåå©çšæ§ã®é«ãã³ãŒããèšè¿°ããããšãå¯èœãšãªããŸãã
æçµçã«ãããã³ããšã³ãéçºã®ãŽãŒã«ã¯ãéçãªwebããŒãžããããåæ¹åæ§ã®ããåçãªwebããŒãžãäœæããããšã§ããããããŠãŒã¶ãŒã«ãšã£ãŠããå€ãã®äŸ¡å€ãæäŸããŸãã
5.2 ããã¯ãšã³ãéçº
ããã¯ãšã³ãéçºãšã¯ããµãŒããŒãµã€ãã®éçºã§ãããããŒã¿ããŒã¹æäœããµãŒããŒããžãã¯ãæ§ç¯ããŸããèšèªãšããŠã¯PythonãNode.jsãPHPãªã©ããããŸãããããŠããããã®èšèªã«å¯Ÿå¿ããDjangoãExpress.jsãLaravelãšãã£ããã¬ãŒã ã¯ãŒã¯ãéžã°ããŸãã
ããã¯ãšã³ãã®ç®çã¯ãããã³ããšã³ãããéããããªã¯ãšã¹ããé©åã«åŠçããå¿ èŠãªããŒã¿ãããã³ããšã³ãã«è¿ãããšã§ãããŸããããã¯ãšã³ãã§ã¯ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãã»ãã¥ãªãã£ããã³ããã©ãŒãã³ã¹ã®æé©åãçµã¿èŸŒãããšãå¯èœã§ãã
ããŒã¿ããŒã¹ã®èšèšãšæäœãAPIãšã³ããã€ã³ãã®äœæãèªèšŒããã³èªå¯ãªã©ã®ã»ãã¥ãªãã£æ©èœã®å®è£ ããããŠãšã©ãŒãã³ããªã³ã°ãªã©ãããã¯ãšã³ãéçºã®äž»èŠãªäœæ¥ãšãªããŸãã
5.3 ãã¬ãŒã ã¯ãŒã¯ã䜿çšããã»ãã¥ãªãã£å¯Ÿç
Webã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã¯éèŠã§ããæ»æè ããŠãŒã¶ãŒããŒã¿ãçãã ãããµãŒãã¹ãé®æãããããããšãé²ãå¿ èŠããããŸãããã¬ãŒã ã¯ãŒã¯ã¯ãããã®åé¡ãé²ãããã®ããŒã«ãåããŠããŸãã
äŸãã°ãã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒ ã ã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªïŒCSRFïŒ ãªã©ã®æ»æãé²ãããã®æ©èœãçµã¿èŸŒãŸããŠããŸãããããã¯ããŠãŒã¶ãŒã®ãã©ãŠã¶ã§æªæã®ããã¹ã¯ãªãããå®è¡ãããããšãé²ããã®ã§ãã
ãŸããSQLã€ã³ãžã§ã¯ã·ã§ã³æ»æãé²ãããã®ãªããžã§ã¯ãé¢ä¿ãããã³ã°ïŒORMïŒæ©èœããããŸããORMã¯ãããŒã¿ããŒã¹æäœãå®å šã«è¡ãããã®ãã®ã§ãã
5.4 ããã©ãŒãã³ã¹ã®æé©å
Webã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã¯ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«çŽæ¥åœ±é¿ãäžããŸãããããã£ãŠãããã¯æåªå äºé ã§ãªããã°ãªããŸããããã¬ãŒã ã¯ãŒã¯ã¯ããã®ç®æšãéæããããã®ããã€ãã®ããŒã«ãæäŸããŠããŸãã
äŸãã°ããã£ãã·ã³ã°ã¯Webã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããããšãå¯èœã§ãããªã¯ãšã¹ãçµæãäžæçã«ä¿åããåããªã¯ãšã¹ããå床éããããšãã«éããã«çµæãè¿ãããšã§ãããŒãæéãççž®ããŸãã
ããã«ãéåæåŠçãçšããããšã§ããµãŒããŒãåæã«å€ãã®èŠæ±ã«å¯Ÿå¿ã§ããããã«ããããšãå¯èœã§ããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªãã£ãæ¹åããŸãã
6. Webã¢ããªéçºã®æåäºäŸãšãã®åæ
éçºã®æåã¯ããŠããŒã¯ãªã¢ã€ãã¢ã ãã§ãªãããã®å®è£ ãç¹ã蟌ãŸããŠããŸãã以äžã®æåäºäŸã§ã¯ãç°ãªãçš®é¡ã®Webã¢ããªãéçºããåžå Žã§ãã®å°äœã確ç«ããäºæ¥è ã®ããã»ã¹ãšææã«ã€ããŠè¿°ã¹ãŠããŸãã
ãããã®äºäŸã¯ãéçºã®éžæãšèšç»ãæçµçãªçµæã«ã©ã®ããã«åœ±é¿ãäžããããç解ããããã®å ·äœçãªæåŒããšããŠåœ¹ç«ã¡ãŸãã
ããŸããŸãªãããžã§ã¯ãã¿ã€ãã§Webãã¬ãŒã ã¯ãŒã¯ãã©ã®ããã«äœ¿çšãããŠããããèŠãŠã¿ãŸãããã
6.1 æåäºäŸ1ïŒå€§èŠæš¡ãªãœãŒã·ã£ã«ã¡ãã£ã¢ãµã€ã
ãããœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã¯ããã®æ©èœæ§ãšããã©ãŒãã³ã¹ã®ååã«åŸã£ãŠãé©åãªWebãã¬ãŒã ã¯ãŒã¯ãéžæããŸããã
圌ãã¯ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®çžäºäœçšãšããŒã¿ç®¡çã«çŠç¹ãåœãŠãŸããã圌ãã®éžæãããã¬ãŒã ã¯ãŒã¯ããããã®èŠçŽ ãå®çŸããæ段ãæäŸããçµæãé åçãã€å¹ççãªãã©ãããã©ãŒã ãéçºããããšãã§ããŸããã
ããã«,ãã®ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã¯ããã¬ãŒã ã¯ãŒã¯ã®ã¹ã±ãŒã©ããªãã£ãšæè»æ§ã掻çšããŠããŠãŒã¶ãŒããŒã¹ãšãµãŒãã¹ã®ç¯å²ãæ¡å€§ããŸããã
6.2 æåäºäŸ2ïŒåçãªECãµã€ãã®æ§ç¯
ããããã®ECãµã€ãäžããã®äžã€ã¯é©åãªãã¬ãŒã ã¯ãŒã¯ã®éžæã«ããåçã§äœ¿çšããããã·ã§ããã³ã°äœéšãæäŸããããšã«æåããŸããã
ãã¬ãŒã ã¯ãŒã¯ã®å©ç¹ã掻çšããŠ,補åããŒã¿ã®ç®¡ç,泚æã®åŠç,ãããŠãŠãŒã¶ãŒãšã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãåçåããŸããã
æçµçã«ã¯ããã®ECãµã€ãã¯ãã®ãã¬ãŒã ã¯ãŒã¯ã®åŒ·åãªæ©èœãšã«ã¹ã¿ãã€ãºå¯èœãªç¹æ§ã«ãã£ãŠãŠãŒã¶ãŒæ°ãå¢ãããåžå Žã§ã®ç«¶äºåã確ä¿ããŠããŸãã
6.3 æåäºäŸ3ïŒãšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®Webã¢ããªã±ãŒã·ã§ã³
ããèªåè»è£œé äŒæ¥ã¯ãå šå·¥çšã管çããããã®ãšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®Webã¢ããªã±ãŒã·ã§ã³ãéçºããŸããããã®ã±ãŒã¹ã§ã¯ãé©å¿æ§ãšå ç¢æ§ãæ±ããããŸããã
ãããã®èŠä»¶ãæºãããããäŒæ¥ã¯æ¥çã§è©äŸ¡ã®é«ããã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãããããã«ãã£ãŠããã¹ãŠã®å·¥çšãšããŒã¿éã®ã·ãŒã ã¬ã¹ãªçµ±åãå¯èœãšãªããŸããã
ãã®çµæãçç£å¹çãåäžããäŒæ¥ã®ããã©ãŒãã³ã¹ã¯å€§å¹ ã«æ¹åããŸããã
6.4 åäºäŸã®æåèŠå ã®åæ
ãããã®äºäŸããåŠã¹ãéèŠãªã¬ãã¹ã³ã®äžã€ã¯ãé©åãªãã¬ãŒã ã¯ãŒã¯ã®éžæãçµæã«å€§ãã圱é¿ãåãŒããšããããšã§ãã
åªããæ©èœæ§ãå ç¢æ§ãã¹ã±ãŒã©ããªãã£ãæè»æ§ãåãããã¬ãŒã ã¯ãŒã¯ã®äœ¿çšã¯ãåãããžã§ã¯ããåžå Žã§æåãåããå©ããšãªããŸããã
ãããã®äºäŸããšãããŠãéçºè ã¯ãããžã§ã¯ãã®ããŒãºã«å¿ããŠæé©ãªãã¬ãŒã ã¯ãŒã¯ãéžæããæ¹æ³ã«ã€ããŠç解ãæ·±ããããšãã§ããŸãã