السلام عليكم لدي موقع للطقس و اغرب بتطوير حماية محليه له ما الطرق و الاساليب لذلك موقعي هو موقع طقس بأستخدام HTML و php و Js
هل يمكن انشاء حماية من اختراق موقعي محليا
التعليقات
ما المقصود بمحليًا؟ هل تقصد على حاسوبك؟ ما الحاجة إلى ذلك.
فأنت تقوم بنشر الموقع على استضافة على الإنترنت، وذلك السيرفر محمي بطبيعة الحال، لكن لزيادة الحماية في حال كان هناك مدُخلات من قبل المستخدم عليك تنظيفها والتأكد منها قبل إرسالها للخادم.
أي تعقيم جميع المدخلات لمنع هجمات SQL Injection و Cross-Site Scripting (XSS)، بجانب استخدام الاستعلامات المحضرة Prepared Statements في SQL عند التعامل مع قواعد البيانات.
بالإضافة الإعتماد على ملف .htaccess لتعزيز الأمان، وأول شيء هو منع استعراض الدلائل:
Options -Indexes
فذلك الإعداد يمنع استعراض محتويات الدلائل عندما لا يكون هناك ملف index موجود.
2. تقييد الوصول إلى ملفات محددة:
<FilesMatch "\.(htaccess|htpasswd|config|ini|log|sh|bakphp|pl|py|cgi|asp|aspx)$"> Order Allow,Deny Deny from all </FilesMatch>
ذلك يمنع الوصول إلى ملفات مثل .htaccess و .htpasswd والملفات الحساسة الأخرى.
وهناك أمور أخرى سأترك لك الملف مع التعليق على الإعدادات:
# منع استعراض الدلائل
Options -Indexes
# تقييد الوصول إلى الملفات الحساسة
<FilesMatch "^(wp-config\.php|phpinfo\.php|php.ini|composer\.json|composer\.lock)$">
Order deny,allow
Deny from all
</FilesMatch>
# الحماية من الثغرات الأمنية الشائعة في الويب
<IfModule mod_security.c>
SecRuleEngine On
SecRequestBodyAccess On
# منع حقن SQL
SecRule REQUEST_URI "SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|TRUNCATE|GRANT|REVOKE|EXEC(UTE){3,}" "phase:2,deny,status:403"
# منع الهجمات عبر البرمجة النصية عبر المواقع (XSS)
SecRule REQUEST_URI "(<|>|'|script|alert|eval|unescape|javascript|vbscript|expression|src|onerror|onload)" "phase:2,deny,status:403"
# منع تضمين الملفات عن بُعد (RFI)
SecRule REQUEST_URI "(http|https)://(www\.)?([^/]+)/" "phase:2,deny,status:403"
# منع تضمين الملفات المحلية (LFI)
SecRule REQUEST_URI "\.\.(\/|\\)" "phase:2,deny,status:403"
</IfModule>
# تعيين سياسة أمان المحتوى (CSP) بشكل آمن
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' https://fonts.googleapis.com;"
# تعيين رأس X-XSS-Protection للحماية من XSS
Header set X-XSS-Protection "1; mode=block"
# تعيين رأس X-Frame-Options للحماية من النقر على الروابط
Header set X-Frame-Options "SAMEORIGIN"
# تعيين رأس سياسة الإحالة (Referrer-Policy) بشكل آمن
Header set Referrer-Policy "same-origin"
# تعيين رأس سياسة الميزات (Feature-Policy) بشكل آمن
Header set Feature-Policy "geolocation 'self'; microphone 'none'; camera 'none';"
# منع النقر على الروابط (Clickjacking)
Header set X-Frame-Options "SAMEORIGIN"
# منع استنشاق MIME
Header set X-Content-Type-Options "nosniff"
# منع التخزين المؤقت للمتصفح
Header set Cache-Control "no-cache, no-store, must-revalidate"
السلام عليكم ،حسب خبرتي الصغيرة أن حماية الموقع ممكنه دون خدمات خارجية لكن ذلك غير مضمون دائما لكن تستطيع استخدام أدوات مفتوحة المصدر مثل Nmap وأدوات كشف الثغرات وايضا استخدام جدار ناري مفتوح أو مدمج مع النظام لكن يوجد هجمات غالباً راح تضطر إلى خدمات خارجية بالتحديد اتكلم عن هجمات DDoS وهنا تحتاج بشكل كبير إلى أداة captcha وغالبا كل الأدوات ليست مفتوحة المصدر بشكل كامل لكن ممكن تقول اولا لماذا ترفض الخدمات الخارجية ؟ لانه لو كان بسبب الخصوصيه فهناك بعض الخدمات تحترم الخصوصيه