المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الحماية والحظر سياسة أمان المحتوى CSP Content Security Policy - الكوردوفا و الفون جاب



Rise Company
25-07-2017, 22:30
الحماية Whitelist والحظر Blocking سياسة أمان المحتوى CSP Content Security Policy - الكوردوفا و الفون جاب
الكوردوفا و الفون جاب Phone Gap / Cordova

شرح الميتا CSP المسئولة عن الحماية / السكيورتي / الصلاحيات / الحظر لوظائف التطبيق

قد تجد انك قمت بتنزيل بلوجن plugin وعند وضع فنكشن function لا تجده يعمل !!!

جميع وظائف api للجافا سكربت داخل index.html او داخل index.js

محظوره و السبب هو كود ميتا Meta


<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">

الوصف :
يوضح هنا ان هناك 3 اشياء تفعلها هذه الميتا ,
الاول هو مخاطبة الجافا سكربت مع لغة الاندرويد النيتف
الثانى هو مخاطبة سكربت مع لغة الاى فون النيتف
الثالث هو تعطيل استخدام البلوجن من أجل الحماية

<!--
Customize this policy to fit your own app's needs. For more guidance, see:
https://github.com/apache/cordova-plugin-whitelist/blob/master/README.md#content-security-policy
Some notes:
* gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
* https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
* Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
* Enable inline JS: add 'unsafe-inline' to default-src
-->

الكود المسئول عن حظر البلوجن / السكربت :


<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">

https://www.rise.company/forum/images/imported/2017/07/181.jpg
ما هو self ؟
هو السماح بتحميل res من المخطط الاصلى فقط

ما هو unsafe-inline ؟
هو السماح بتحميل res من اى مكان

ما هو unsafe-eval ؟
هو السماح للجافا سكربت بمخاطبة الاندرويد النيتف

ما هو gap ؟
هو السماح للجافا سكربت بمخاطبة الاى فون النيتف

ما هو https://ssl.gstatic.com ؟
هو مهام TalkBack (accessibility) الموجودة فى الاندرويد النيتف

الكود المعدل المناسب لكك للعمل بدون قيود :

هو ان تضيف للكود الاساسى لك


script-src * 'unsafe-inline';

ليكون كالتالى


<meta http-equiv="Content-Security-Policy" content="
default-src *;
style-src * 'unsafe-inline';
script-src * 'unsafe-inline';
media-src *; img-src * data:;
" />

كما يمكنك حذف السطر نهائيا فسيعمل التطبيق بشكل ممتاز دون مشاكل

ولكن لا نعلم ان كان سيتوقف عند النشر على المتجر ام لا.


This policy allows images, scripts, AJAX, and CSS from the same origin, and does not allow any other resources to load (eg object, frame, media, etc).

المرجع :
https://content-security-policy.com/

جميع الاكواد فى المرفقات