ã»ãã¥ãªãã£é¢é£è²ã ã¨(ã»ãã·ã§ã³IDã¨CSRFã¨æå·ã¨)
ãã£ã¨ãå
æ¥æ¸ããã話â¦ããã£ãããããã¡ãã¡ã§ç«ã®æãä¸ãã£ã¦ããã¾ã(è¦ç¬
ã¾ãèå³ããããã®ãã¿ãªã®ã§ãè²ã
ã¨ã
â¦å¾®å¦ã«Blogã®è¶£æ¨ããããã¾ãããã¾ãé å¼µã£ã¦æ²¿ãããã«ãã¦ã¿ã¾ãã
ã¾ããé«æ¨å
çã®è¨è¿°ããã°ããæ¥è¨ãã¡ããã¨æ¸ãããã«ãªã( http://takagi-hiromitsu.jp/diary/20060121.html )ã
ä¸ã¤ã ããåè«â¦â¦ãªã®ããªãï¼
ã¾ããcacheã¯ç¦æ¢ããã®ãå½ç¶ã§ãããcacheãç¦æ¢ãã¦ãcacheã«æ®ãå ´åã¨ããã®ã¯ãWebã¢ããªã±ã¼ã·ã§ã³ã®è²¬ä»»ã§ã¯ãªããæ®ããããªè£½åã®èå¼±æ§ã§ããã
ãã£ã¨ãç解ã¯åºæ¥ãã®ã§ãã(ãã ã確ãRFCã§ã¯SHOULDã¬ãã«ã ã£ããããªâ¦è¨æ¶ãçããã§ãã)ãç¾å ´ã¨ãã¦ã¯ãããã§ããªãããããèæ
®ããããå¾ãªãç¶æ³ãããã®ã§ã
ã§ããã°ä¸è¹´ãã¦çµããã®ã§ã¯ãªããããã¡ãã£ã¨èå¯ãéãã¦ããããã¨å¬ãããªãã¨ã
ã¨ã¯ãããã©ã®ã¿ã¡ãcacheãæ®ããããªããhiddenã ãããCookieã ããããã¨ããã¬ãã«ã§ã¯ããã®ã§ã
èªèã¨ãã¦ã¯
ã»hiddenã®ã»ããããå®å
¨ã§ãããå¯è½æ§ããããããã ããã©ã®ã¿ã¡ä¸ç·ãã§ããå¯è½æ§ãæ®ããã¨ãæèãã
ã£ã¦ã®ãç¾å ´ççºæ³ã§ããããï¼
以ä¸ããç§ããé«æ¨å
çã¸ã®ãå¯ä¸åè«ãããã³ã¡ã³ãã
ãã§ã¾ã次ã¯GIJOEæ°ã¸ã®åè«ãªã®ã ããâ¦ç³ã訳ãªãã®ã ãããã¾ãã
ããã°ããæ¥è¨ãã¡ããã¨æ¸ãããã«ãªããã¸ã®åè« ( http://www.peak.ne.jp:8080/xoops/modules/news/article.php?storyid=82 ) ããã
ã¾ããããåã§ããã»ãã·ã§ã³åºå®ã¨ã»ãã·ã§ã³ãã¤ã¸ã£ãã¯ã¯å¥ç©ã§ãã
åã«IPã¢ãã¬ã¹ãã»ãã·ã§ã³IDã«çµã³ã¤ãã¦ããã ãã§ãã»ãã·ã§ã³IDãå¤é¨ã«æ¼ããã¨ãã¦ããã»ãã·ã§ã³ãã¤ã¸ã£ãã¯ãããªãã·ã¹ãã ã¯å¯è½ã§ãã
è´å½çã
ã¾ããæ£è¦ã¦ã¼ã¶ã®IPã¢ãã¬ã¹ã常ã«åºå®ã§ããããå¿
ãããtrueã«ã¯ãªãããªã(å®éãéå»ã«ããã§ãããç®ã«ä¼ãã¾ãã(è¦ç¬))ã
ãã®ããã«ãä¸æã«çµã³ã¤ããã¨ãæ£è¦ã®ã¦ã¼ã¶ã(大æµã¯ãããç¹å®ã®ISPããããªã®ã ã)ã»ãã·ã§ã³ãç¶æã§ããªãããã°ãèµ·ããããã
ã§ãã»ãã·ã§ã³åºå®ã«ã¤ãã¦ã§ããâ¦â¦ã
ãããã°ãIPãåºå®ãã¦ãåé¡ãªããã¨ãã¦ãªããIPã ã£ã¦ãCookieã ã£ã¦ãhiddenã ã£ã¦ãã¿ããªã¿ããªçãã¦ãâ¦ã®ã¯å«ãªã®ã§ãããå½è£
ã¯ååã«å¯è½ã§ãã
ãã以ä¸ä½ããããããã
次ã
2005/4/27ã®æ¥è¨ã«ããã¦ãã»ãã·ã§ã³IDãPOSTã«ç©ãCSRF対çæ³ãæ²ãããã¦ããããã§ããããããããã¯ããåã®æç¹ã§ãã¯ã³ã¿ã¤ã ãã±ããæ³ãå®ç¸¾ããCSRF対çæ³ã¨ãã¦ãå¨ç¥ããã¦ãã¾ãããä»®ã«ãèªç§°Webã¢ããªã±ã¼ã·ã§ã³ã®ã¨ãã¹ãã¼ããç¥ããªãã£ãã¨ã¯è¨ããªãã¨æãã¾ãã
ããã«ã¤ãã¦ã¯ããç¨åº¦ç´å¾ãããã¡ãã£ã¨å
·ä½çã«ã¯ãã¯ã³ã¿ã¤ã ãã±ãã(ã¯ã³ã¿ã¤ã ãã¼ã¯ã³ãã£ã¦ç§ã¯å¼ã¶ãã¨ãå¤ãã§ãã)æ³ãå®ç¸¾ããCSRF対çæ³ãã®é¨åãå®ç¸¾ãããã®ãã¯ããä¸ã¤åãä¸ãã¾ããããå°ãªãã¨ããèæ
®ã«å
¥ããææ³ã®ï¼ãã¼ã¹ã¨ãã¦ãã®æå¹æ§ã¯ã
ãã£ã¨ãããã§ãç©´ãéãå¯è½æ§ããã¡ãã¨ããã®ã§ããã®ãããã¯ããç¨åº¦æèããªããã°ãããªãã®ã§ããã
# æ£è¦ã®ã¦ã¼ã¶ã使ãåã«ãã¤ã¸ã£ãã¯ç¯ããã¼ã¯ã³ã使ã£ã¦ãã¾ãå¯è½æ§ãã使ãã£ããã®ãã¼ã¯ã³ã使ãããããæ£è¦ã¦ã¼ã¶ãèªè¨¼ããå¤ãããç¶æ³ã¯ã¾ãæ³å®å
ã¨ãã¦ããã®å ´åãã¦ã¼ã¶ã"æ»æããã¦ããå¯è½æ§ãç解ã§ãããããªPage"ã表示ãããªãã¨ãçµå±ã¯ãããããä½ãããï¼ ãã½ã³ã³ã£ã¦ããããããªãããããã§çä»ãããã¦ä½ã®æå³ãæããªãã
ã§ã
ãããç¥ã£ã¦ããã°ãã»ãã·ã§ã³IDãPOSTã«ç©ãCSRF対çã®ãã¡ãªãããäºæ³ã§ããã¯ãã§ãããã¦å±éºãªæ¹æ³ãç´¹ä»ããæå³ããããã¾ããã
ãã®æç« ã«â¦ã¤ãªãããªããã¨ãããä½ãã©ã®ããã«ã¤ãªããã®ããããããããªãã
ã¡ãã£ã¨ç解ãã¹ãåã¿ç ãã¦ã¿ãã
ãã¯ã³ã¿ã¤ã ãã¼ã¯ã³æ³ãå®ç¸¾ããCSRF対çæ³ã¨ãã¦å¨ç¥ããã¦ããããããã»ãã·ã§ã³IDãPOSTã«ç©ãCSRF対çæ³ãã«ã¯ãã¡ãªãããããã
â¦â¦â¦ãªãã§ï¼ åç´ã«æ¯è¼å¯¾è±¡ã«ãªã£ã¦ããªãã¨æãã
ãã¡ãã¨ããçç±ããããªããåæ¹ãèåãã¦ããããããã§ããã
ããã«ããã®æ¹æ³ã§ã¯ãã»ãã·ã§ã³IDã®åçæå¦çãã¨ã¦ãé¢åã«ãªã£ã¦ãã¾ãã¾ããã»ãã·ã§ã³IDã®åçæå¦çã¨CSRF対çã¯æ¬æ¥æ©è½çã«ç¬ç«ãããã®ã§ãã以ä¸ãå¥ã ã®ã¢ã¸ã¥ã¼ã«ã¨ãã¦å®è£ ããã®ãããè¿ä»£ããã°ã©ãã³ã°ã®åºæ¬ãã§ãããï¼
ãã£ã¨ãâ¦ã©ã®è¾ºãé¢åãªã®ããç©åãçåãªã®ã§ããã
ããã ãªãâ¦ä¾ãã°ã
CSRF対çã¯ã©ã¹::run();
ã§çµãããªã®ã§ã¯ï¼
ã§ã
ã£ã¦æãã§ããããï¼
class CSRF対çã¯ã©ã¹ {
public:
bool run(void) {
// å¿ è¦ã«å¿ãã¦
ã»ãã·ã§ã³ID管çã¯ã©ã¹->åçæå¦ç();
}
};
ããã¾ããæçµçã«æ³¥èãé¨åã®å®è£ ãé¢åã§ãããå¯è½æ§ã¯ããã«ãã¦ããä¸åä½ã£ã¡ããã°æ¦ãOKã ã¨æãã®ã§ããã
ã§ãã©ã®ããããé¢åãªã®ããâ¦ãããã¾ããã
ããã¦ãç§ã®å¸«å ï¼é«æ¨æ°ã¨ã¯äººæ ¼ãæéãæ¡éããæ¬å½ã«å°æ¬ã§ããæ¹ã§ãï¼ã¯ä¸ç®è¦ã¦ããææãã¾ããããGETã ã¨ã ããªã®ã§ãPOSTå¿ é ãPOSTå¿ é ã«ããããï¼formï¼ ã¨JSã ããã® pageã«ãªã£ã¦ãã¾ããã
ãªãã»ã©ãã»ãã·ã§ã³IDãGETã§åºãããããªãã¡ã©ã¼ããæ¼æ´©ãã¾ããããä¸æ¹ãã¯ã³ã¿ã¤ã ãã±ãããªãGETã§åºãã¦ã大ä¸å¤«ã§ããåºãã¨ãã«ã¯ããã¢ã«ãªãåå¸ãã¨å»æ£ããã¦ãã¾ãã
ã¾ãPOSTå¿
é ã«ã¤ãã¦ã¯ããã以å¤ãå«ãã¦ããã®ã§ç¹ã«å証ã«ãªãããã£ã¤ããã¾ã©ããããã¢ã«ã»ãã¥ãªãã£ãç解ãã¦ãã人éã§ãGETã§OKããªã©ã¨ãã人ãããã¨ã¯æããªãã®ã§ããã
ã¤ããhiddenã§ãFORMå¿
é ãã¯ã¾ãç解ãã§ãä½ããã«JS(JavaScriptãã§ãããã§ããããï¼)ã ããã«ãªãã¾ãï¼ ä½¿ããã«è¡ããã¨ãªã©åäºåã«å¯è½ã§ããã£ã¦ãããå®ç¸¾å±±çãã§ããã
ããã«ããFORMã ããã®Pageãã«ä½ãåé¡ãããã®ã§ããããï¼ â¦â¦æ³å®ãã¦ã¿ãå¯è½æ§ã
ã»ãããããªã³ã¯ããã¿ã³ã ãã
imgã«ãã¾ãããããã©ãã§ãããæåã ãã®Aã¨ã¬ã¡ã³ãããã¯ããã¶ã¤ãã¶ããªãç»é¢ã«ãªããã¨è«ãåãã
ã»ãã¶ã¤ãã¼ã«è² è·ãããã
ã¾ãç¹ã«ããã£ã±ãªã®è² è·ã¯å®éãããã«ãªããã§ããããã»ãã¥ãªãã£ã«ãããã³ã¹ãã®ä¸ç°ãã¨ãã¦ããincludeã§ãããªãã
â¦ãã¨ããªã«ãããã¾ãï¼
(ãããã¿ãé æ´ããã追è¨ãã¾ã)
ãã§ã
ãªãã»ã©ãã»ãã·ã§ã³IDãGETã§åºãããããªãã¡ã©ã¼ããæ¼æ´©ãã¾ããããä¸æ¹ãã¯ã³ã¿ã¤ã ãã±ãããªãGETã§åºãã¦ã大ä¸å¤«ã§ããåºãã¨ãã«ã¯ããã¢ã«ãªãåå¸ãã¨å»æ£ããã¦ãã¾ãã
è´å½çã
ã¯ã³ã¿ã¤ã ãã¼ã¯ã³ã®åé¡ç¹ãã¡ããã¨ææ¡ãã¾ããã(ä¸è¿°)ã
次ããã©ã¤ãã¼ãCAã§çºè¡ãã証ææ¸(ããããããªã¬ãªã¬è¨¼ææ¸ã)ã§ãåé¡ãªãçºè¨ã«ã¤ãã¦ã
ããããããã®èª¬æä¸è¶³æ°å³ã§ï¼ããã¨ãªã®ãã©ããããã¾ãããï¼ãã£ããããã¨ãè¯ãå¤ãã¾ããããdns cache poisoningã¨ãä¸éè æ»æã¨ãã®è©±ããã¦ããã®ã§ããããï¼ç¢ºãã«ãããã®ææ³ã使ãã°ãã¨ã³ããã¤ã³ãã«ãªãããã§ããããããããæå³ã§ã¯çè´ã¯ã§ããã§ãããã
ãã¿ã¾ããããããªããããã¾ãã¾ããããããããåå¼·ããªããã¦æ¥ããã£ã¦æãã§ããããã
å ã ã¯ããå±±æ¬å, PHPå®è·µã®ãã ã»ãã¥ã¢ããã°ã©ãã³ã°ç·¨, ä¹å¤©ç¤¾, p.213 ãã«ãã
éåç¨ãµã¤ããªã©ã§åã«æå·åã®ç®çã ããªããã©ã¤ãã¼ãCAã§çºè¡ãã証ææ¸ã§ãåé¡ããã¾ããã
ã¨ããçºè¨ã«å¯¾ãã¦é«æ¨å çãä½ãå¦å®çæè¦ãçºè¨ããããã«å¯¾ãã¦GIJOEæ°ã
ãªããSSLã®ææã«ã¤ãã¦ã¯ãå±±æ¬æ°ã®æ¸ããããã¨ã¯ç¹æ®µééã£ã¦ãã¾ããããããããã¨ãé«æ¨æ°ã¯ããè¦åãªãã¦ç¡è¦ããã°è¯ãããªãã¦ç¶æ³ãä½ãä¸ãããããã£ããã®SSLã®å®å ¨æ©æ§ãæå³ããªããªããã¨ãã主張ããããã¾ããããããããææ³çãªä¸»å¼µã¨ãæ¸ç±ã®èå¼±æ§ãååã«ä¸¦ã¹ãã¨ãä½ãè¨ãããã®ãããã¼ããã¼ãããã¨æãã¾ãã
ã¨åè«ãã¦ãããã£ã¦ã®ãçµç·¯ã
å
ã«çµè«ãæ¸ãã¨ãé«æ¨å
çã®
ããã¯æè¡çã«ééãã§ããã
ã®ä¸è¨ã«å
¨ã¦è¦ç´ããã¦ãã¾ãã®ã ãã
ã¾ããããããã®æ¸ç±ã®é¨åã®ãã¹ã«ã¤ãã¦ã
ãæå·åã®ç®çã ããªããã©ã¤ãã¼ãCAã§çºè¡ãã証ææ¸ã§ãåé¡ããã¾ãããã
ããã¾ããæãã¯ãæå·åã£ã¦ãªã«ãæå³ãã¾ãï¼ãã£ã¦ããé¨åã®è¿½æ±ããã«ãªãã®ã§ããã
â¦â¦â¦ã
ã¾ãä»ã®åéã¸ã®æè²ãããã®ã§ãç´°ããã
ã¾ãæå·ã«ã¤ãã¦ãããã¡ãã£ã¨æ£ç¢ºã«ã¯ãæå·å¼·åº¦ãã«ã¤ãã¦ãã¾ãã¯å¦ã³ã¾ãããã
ç¾åããããã¨ããããæå·ã¯ãï¼ã¤ãé¤ãã¦ã潤沢ãªãªã½ã¼ã¹ããããã°è§£èªãå¯è½ãã§ããã¡ãªã¿ã«ä½è«ã§ãããé¤ããã¦ãããã®ãï¼ã¤ã®ãæå·ææ³ã¯ã絶対ã«ã¢ã¿ãã¯(解èª)ã§ãã¾ãããããã ãæ®æ®µã®å®éç¨ã«ã¯é©ããªããã¨ãå¤ãå½¢å¼ãªã®ã§ãæ®éããã¾ã使ããªãã§ããã§ããã®æå·å½¢å¼ãããªããªã®ããã«ã¤ãã¦ã¯åèªèª¿æ»ãã¡ããã¨ããæå·ç³»ã®æ¬ãèªãã°è¼ã£ã¦ã¾ãããã
ã§ã¯å
¨ã¦ã®æå·ã¯ã解èªãå¯è½ã§ããããã«èå¼±ãªã®ãï¼ãã¨ããåãã«é¢ãã¦ã¯ãåææ¡ä»¶ããå
¨ã¦ã®æå·ãã§ããéãã«ããã¦ãåºæ¬çã«Noã§ãã
ãªãã解èªã§ããã®ã«èå¼±ã§ã¯ãªããã®ããçãã¯ãæéããä¸è¨ã®åãã«ã¯ãæéã¨ããè¦ç´ ã(ä»åã¯æå³çã«ã§ãã)æ¬ è½ãã¦ããã®ã§ãã
ä¾é¡
æ¬æ¥08:00ãææ05:00ã«å®è¡ããä½æ¦ã®è©³ç´°å½ä»¤æ¸ãæå·åæ¹å¼ãããã«ã¦éä¿¡ã
æå·åæ¹å¼ãããã¯ãçè«çã«ã¯ããã·ã³ãªã½ã¼ã¹ã«æ½¤æ²¢ã«è³æºã¤ã£ãã¿ã¾ãã£ãç¶æ
ã§è§£èªå¹³å30å¹´ãã
ããã¯èå¼±ãå¦ãï¼
ä¸è¿°ã«ããã¦ãã¶ã£ã¡ããã21æéã»ã©æå·ãã¨ããªããã°OKããªã®ã§ãæå·åæ¹å¼ãããã¯ãä¸è¿°ä½¿ç¨ã®åææ¡ä»¶ã«ããã¦ãååãªå¼·åº¦ãæã£ã¦ãããã¨ããã¾ãã
ãããæå·å¼·åº¦ã§ä¸çªåãã«èªèãã¹ãé¨åã§ãã
次ã«ã解èªãåºæ¥ãã£ã¦äºã¯ã以éå
¨ã¦ã®æå·ãå³å¹ã§è§£èªã§ããããã¨ãæå³ãã¾ããã ã£ã¦ãæå·åããããã®éµããã²ããããã®ã¨ä¸ç·ãªããã§ããã
ã¤ã¾ãã解èªãããç¬éããããã®éµã使ã£ãããããæå·é信㯠ç¡é§ç¡é§ç¡é§ç¡é§ã ãã ãã ãã ãããããã¨ããªããã©ããã®æ¼«ç»ã§åºã¦ããããªç¶æ³ã«ãªãããã§ãã
ãããããéµã®å¯¿å½ãã¨ããçºæ³ã沸ãã¦åºã¦ãã¾ããããããã§ããããï¼
ããã«ã
æå·åã®ããã®éµã£ã¦ã®ã¯ãååçã«æ ¹æ¬çã«ãã°ãã¡ãã¾ããããã®ã§ããã°ãã¦ããã®ã¯å
±æéµæå·ã«ãããå
±æéµããããªããã§ãã
ãã§ããããããä»®ã«ããã®éµãããªãã身å
ã®ã¯ã£ããããªãå±ãªãã¨ãããããããã®ãã ã¨ããããã§ããã®æªããã¨ããããã®éµãæªç¨ããã¨ããããã©ããªãã§ãããï¼
æ¯éãªã¢ã«ã®éµå±ããã®éå£ã®å«ç観ã«æå¾
ããããã®ã§ããâ¦ããã¨ãã¦ã
以ä¸ãè¸ã¾ãã¦(ãã£ã¨æ¬é¡ã ããã)ã
ãéåç¨ãµã¤ããªã©ã§åã«æå·åã®ç®çã ããªããã©ã¤ãã¼ãCAã§çºè¡ãã証ææ¸ã§ãåé¡ããã¾ãããã
ã¯å¦å®ããã¾ãã
ã¾ããCA(Certificate Authority : èªè¨¼å±)ãã£ã¦ã®ã¯ãéµã®ã身å
ãå®å
¨ã§ãããã¨ããå¨ç¥ãã¾ããããããã©ã¤ãã¼ãã¨ãè¨ããã¦ãã¾ãã¨ãå©ç¨è
ããã®å®å
¨ãã©ããã£ã¦ä¿éãã¦ããã£ããããã®ããããã¾ããããåæªäººã§ããã£ã¦ããæªäººã£ã¦ããªãã§ãããï¼
ã¤ãããã®èªè¨¼å±ããããã°æªæããªãã¨ãã¦ãã¡ããã¨éå¶ããã¦ããªããã°ãéµã¯ãã¤ãã寿å½ãè¿ãã¾ãããã®è¾ºã管çã§ãã¦ãã£ã¦ãå©ç¨è
ã«æ£ããä¼éãã§ãã¾ããï¼
ãããããä»®ã«ãæå·åãã£ã¦åèªããç°¡åã«è§£æããã¡ãããã©æå·ãã¸ãã¯ãéããæååã§ã¯ãããç¨åº¦ã®æå³åãã§ä½¿ã£ã¦ãããªãã¾ãæé¢ã¨ãã¦èª¤ãã§ã¯ãªãã®ã§ããã
å¤ãã®å ´åã«ããã¦ãæå·åç®çãã¨ã¯ãããç¨åº¦ã®å¼·åº¦ãæå¾
ããã¦ããæé¢ã§ãã
é«æ¨å
çã®ãããé庫ããããé庫ã®ä¸ã«ã¯éµã¨ãæããã®ã«å¿
è¦ãªçªå·ã®ã¡ã¢ãããããã®é庫ã¯æ©è½ãã¦ããã¨ãããã®ãï¼ãã¨ããåãããã®ã¾ãã¾å½ã¦ã¯ã¾ãç¶æ
ã§ãã
ã§ã¾ãã以éä½è«ã§æ縮ã§ã¯ãããã§ãããã
æèãPHPãµã¤ãã¼ããã®ææ³ãï¼ã½ã·ã 社ï¼ã¯ãé«æ¨æ°ã®æ£æçãªå¦¨å®³æ´»åã«ãé¢ãããã好è©ãªå£²ãè¡ããç¶ããã¤ãã«ï¼å·ãè¿ãããã¨ã«ãªãã¾ãããé¢ä¿è ä¸åãèªè ã®çæ§ã«å¿ããæè¬ããããã¾ãã
å¥ã®æå³ã§èå³ã¯ããã®ã§ãããç¾ç¶ãæãã¦ãåéã¸ã®åé¡éã以ä¸ã®èªèããã¦ãªãããã
å
·ä½çå©ç¨æ³ã¨ãã¦ã¯ãæ¬æ¸ï½Page ã ï½Pageãèªã¿ã誤ãã®ç®æãããå ´åããã®èª¤ãã¨çç±ã対çã«ã¤ãã¦è¿°ã¹ãããã¾ãããåå¼·ã«ã¯ãªãã®ã§ããã
ä¸èº«ãã象çã®å¡ã®ä½äººã®æºä¸ã®ç©ºè«ã§ã¯ããã¾ããããªã¼ãã³ã½ã¼ã¹ããã¸ã§ã¯ãã§æ§ã ãªå®æ¦çµé¨ãç©ãã§ããçè ã®ç¥èã¨çµé¨ãã®ãã·ãªã¨è©°ããã¾ãã¦ãã¾ãã
ãããç³ã訳ãªããã ããã©ããå®æ¦çµé¨ãããããããã£ã¦ãã®ã§ããªããããª(ãªãã®ã¯ããªãã¾ãããã§ãã)ã
ã§ãXOOPSã®ã½ã¼ã¹è¦ãéãâ¦ãã¿ã¾ããã¢ã¬æ±ãã§ããè¨è¨ã¯ã¡ããã¨è¦ã¦ãªããã©ãã½ã¼ã¹ã¬ãã«ã§ã¯ããªãã
æã
ãé«æ¨å
çã®çºè¨ã¯ããã£ã¨â¦ããããªãããªããã©ç¾å ´ã§ã¯â¦ãã£ã¦ããçºè¨ãããã®ã§ãããããã§ãã¡ããã¨èªãã°ããã®ã¨ãã»ã³ã¹ã¯é¢ç½ããããªããã¾ããã¾ãããããç¸æã®æè¦ãéµåã¿ã«ããããªãã¦è¡çºãæã®æ¥µå°ãªã®ã§ãã :-P
ä¸æ¹ã§GIJOEæ°ã®çºè¨ã¯ãã¡ãã£ã¨å¾®å¦ãªã¨ãããå¤ãã¦ããªããã¾ããã
ã¨ããããã§ãä»åã®ã¾ã¨ãã
ã»ã»ãã·ã§ã³IDã¯æ»ãã§ãåºå®ãããªã£ã¦ãããåºå®ããã殺!!
ã»hiddenã«ããã»ãã·ã§ã³IDã®åãè¾¼ã¿ã¯ãéå®æ¡ä»¶ä»ã§ãæå¹ããã ããã¡ãªãã(ãã£ã±ãç»é¢é·ç§»ï¼ãã¶ã¤ã³å·¥æ°)ãããã®ã§ãéå®æ¡ä»¶ãç解ããä¸ã§ãå©ç¨ã¯è¨ç»çã«ã
ã»ã¯ã³ã¿ã¤ã ãã±ãããæçã ãä¸è½ã§ã¯ãªããã£ã¤ããããå æ¸ããããéã®å¼¾ä¸¸ä¿¡ä»°ã
ã»ãã©ã¤ãã¼ãCA使ã£ã¦ããã®ã¯å®é¨ç°å¢ã ããã°ãã¼ãã«ã«å
¬éããå ´åãã©ããªã«é å¼µã£ã¦ããã©ã¤ãã¼ãCAã¯åé¡ããããã
ãããªæãã§ããããï¼