ð¡ïž CSPããããŒçæ
æå¹ã«ãããã£ã¬ã¯ãã£ããããã£ã¬ã¯ãã£ãå å€; ãã®åœ¢åŒã§ã»ãã³ãã³åºåãã«çµåãããŸãã
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self'
Webãµã€ãã®ã»ãã¥ãªãã£ã匷åããContent-Security-Policy(CSP)ããããŒãããã£ã¬ã¯ãã£ã(default-src, script-src ãªã©)ããšã«ãã§ãã¯ããã¯ã¹ã§æå¹åããèš±å¯ãããœãŒã¹ãå ¥åããããšã§çµã¿ç«ãŠãããŒã«ã§ãã
äœ¿ãæ¹
- èšå®ããããã£ã¬ã¯ãã£ãã®ãã§ãã¯ããã¯ã¹ãæå¹ã«ããŸãã
- èš±å¯ãããœãŒã¹(äŸ: 'self' https://example.com)ãå ¥åããŸãã
- çµã¿ç«ãŠãããCSPããããŒæååãèªåçã«è¡šç€ºãããŸãã
ãããã質å
Content-Security-Policyãšã¯äœã§ãã?
XSS(ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°)ãªã©ã®æ»æã軜æžããããã«ããã©ãŠã¶ãã©ã®ãœãŒã¹ããã¹ã¯ãªãããç»åãªã©ã®ãªãœãŒã¹ãèªã¿èŸŒãã§ããããå¶éããHTTPã¬ã¹ãã³ã¹ããããŒã§ãã
'self'ãšã¯äœã§ãã?
çŸåšã®ãµã€ããšåäžãªãªãžã³(åãã¹ããŒã ã»ãã¹ãã»ããŒã)ããã®ãªãœãŒã¹èªã¿èŸŒã¿ã®ã¿ãèš±å¯ããããŒã¯ãŒãã§ããCSPã®ããŒã¯ãŒãå€ã¯å¿ ãåäžåŒçšç¬Šã§å²ãå¿ èŠããããŸãã
çæãããããããŒã¯ã©ã䜿ãã°ããã§ãã?
WebãµãŒããŒãã¢ããªã±ãŒã·ã§ã³ã®ã¬ã¹ãã³ã¹ããããŒãšããŠã衚瀺ãããæååããã®ãŸãŸ `Content-Security-Policy` ããããŒã«èšå®ããŠãã ããããŸãã¬ããŒãå°çšã¢ãŒã(Content-Security-Policy-Report-Only)ã§ãã¹ãããããšãããããããŸãã