security: harden static site (headers, exposed-file cleanup, privacy)
Proactive security & health pass. No live/exploitable vulnerabilities were found; these changes remove information-disclosure surfaces and add standard hardening. - Remove publicly-downloadable 1.1 MB full source dump (code_export.txt) and stray empty l.php; add code_export.txt to .gitignore. - Exclude dev files/folders (*.sh, *.py, docs/, templates/, tools/, README.md) from the rsync deploy so they never reach the live server. - .htaccess: add X-Frame-Options, Referrer-Policy, Permissions-Policy, and a report-only Content-Security-Policy; add defense-in-depth deny block for dev/VCS files (robots.txt & sitemap.xml left served). - .htaccess: fix root redirect to canonical msosorg.com + /en/. - Swap 4 project-page YouTube embeds to youtube-nocookie.com so no Google cookies are set before consent (GDPR). - Add rel="noopener" to 30 team social links on the About Us pages. - Harden esc() in my-route.js to also escape single quotes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
c2b1b6eb5a
commit
168e4ce378
13 files changed
+75
-22777
No files matched your search
+1
-1
@@ -28,7 +28,7 @@
|
||||
var m = new RegExp('[?&]' + name + '=([^&]*)').exec(location.search);
|
||||
return m ? decodeURIComponent(m[1].replace(/\+/g, ' ')) : '';
|
||||
}
|
||||
function esc(s) { return String(s == null ? '' : s).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); }
|
||||
function esc(s) { return String(s == null ? '' : s).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, '''); }
|
||||
|
||||
var lang = root.getAttribute('data-lang') || param('lang') || 'en';
|
||||
|
||||
|
||||
Reference in new issue
Block a user