איך מסירים unsafe-inline מה-CSP

unsafe-inline מאפשר לכל סקריפט שמוטמע בדף לרוץ — כולל קוד שתוקף הזריק — וכך מבטל את רוב ההגנה של CSP. הפתרון הוא nonce: מספר אקראי חדש בכל טעינה, שרק הסקריפטים שלכם נושאים.

ה-nonce חייב להיות חדש בכל תגובה. ערך קבוע שווה לבטל את ההגנה.

איך מתקנים

שרת האתר שלכם

איפה: כותרת ה-Content-Security-Policy שלכם

Drop 'unsafe-inline' from script-src and use a nonce or hash instead, e.g.
Content-Security-Policy: script-src 'self' 'nonce-<RANDOM_PER_REQUEST>'; object-src 'none'; base-uri 'self'

'unsafe-inline' מאפשר לקוד <script> מוזרק לרוץ, וכך מבטל את רוב ההגנה של CSP מפני XSS. הסירו אותו, הפיקו nonce אקראי חדש בכל תגובה, והוסיפו אותו לכל <script nonce=...> לגיטימי בדף.

איך בודקים שזה עבד: סרקו שוב — חולשת ה-CSP אמורה לרדת בחומרה או להיעלם.

לא בטוחים אם האתר שלכם צריך את התיקון הזה? הסריקה בודקת את זה ועוד עשרות דברים, ומראה מה חסר אצלכם.

לסריקה חינמית של האתר

מדריכים קשורים