איך מסירים 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 אמורה לרדת בחומרה או להיעלם.
לא בטוחים אם האתר שלכם צריך את התיקון הזה? הסריקה בודקת את זה ועוד עשרות דברים, ומראה מה חסר אצלכם.
לסריקה חינמית של האתר