كيفية إصلاح خطأ NET::ERR_CLEARTEXT_NOT_PERMITTED؟ (5 طرق)

نشرت: 2023-12-15

هل تتطلع إلى إصلاح الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED؟ ثم كنت قد هبطت على المنصب الصحيح.

هذا الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED خاص بمستخدمي Android ونعلم أن Android يتمتع بحصة سوقية ضخمة مقارنة بأنظمة تشغيل الأجهزة المحمولة الأخرى.

هذا يعني أنك لست الوحيد الذي يقع ضحية لهذا الخطأ بالتحديد، ولكن يمكن أن يكون هناك العديد من المستخدمين مثلك الذين واجهوا رسالة الخطأ هذه أو كانوا عرضة لها في بعض الأحيان.

ولكن لا داعي للقلق. في هذا المنشور، سنحاول إزالة كل شكوكك بشأن هذا الخطأ وسنساعدك على فهم الخطأ الذي حدث بالضبط وما عليك القيام به لإصلاح ذلك.

لذا تابعونا واستمروا في قراءة هذا المنشور الشامل حتى النهاية.


جدول المحتويات
كيفية إصلاح خطأ Android NET::ERR_CLEARTEXT_NOT_PERMITTED؟
ما هو الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED؟
ما هو عرض الويب لنظام Android؟
ما الذي يسبب الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED؟
ملخص
أسئلة مكررة

كيفية إصلاح خطأ Android NET::ERR_CLEARTEXT_NOT_PERMITTED؟

الآن في هذا القسم، سنتحدث عن استكشاف أخطاء NET::ERR_CLEARTEXT_NOT_PERMITTED وإصلاحها. لهذا، إذا كنت أحد مطوري Android، فستتم مطالبتك بالوصول إلى تطبيق Android الخاص بك.

  • تمكين حركة مرور النص الواضحة عن طريق تعديل Androidmanifest.xml
  • إدراج موقع ويب معين في القائمة البيضاء باستخدام "network_security_config.Xml"
  • إعادة توجيه HTTP إلى HTTPS لـ Nginx
  • إجبار موقع WordPress الخاص بك على استخدام HTTPS
  • تحميل موقع الويب في المتصفحات الحديثة

1. قم بتمكين حركة مرور النص الواضحة عن طريق تعديل Androidmanifest.xml

الطريقة الأولى لاستكشاف الأخطاء وإصلاحها التي يمكنك اتباعها هي تمكين حركة مرور النص الواضحة عن طريق تعديل ملف androidmanifest.xml. يحتوي كل تطبيق Android على ملف Androidmanifest.xml الذي يحتوي على جميع المعلومات المتعلقة بالتطبيق المطلوب بواسطة نظام التشغيل Android ومنصات Android الأخرى.

تتجاوز هذه الطريقة المحددة إرشادات HTTPS الصارمة من Google، وبالتالي يمكن أن تكون حلاً مؤقتًا ما لم يتم نقل موقع الويب الذي تحاول تحميله إلى حركة مرور مشفرة.

لتمكين مسح حركة المرور أو السماح به، كل ما تحتاجه هو إضافة السمة "android:usescleartexttraffic" وتعيين قيمتها على "true" في علامة "<application>".

للتنقل وتحرير ملف Androidmanifest.xml، اتبع الخطوات البسيطة الواردة أدناه:

الخطوة 1: تحتاج أولاً إلى فتح مشروع Android الخاص بك أو الوصول إلى ملف .apk الخاص بالتطبيق. هناك طرق مختلفة يمكنك من خلالها فتح مشروع Android الخاص بك وتعديله، ولكن استخدم Android Studio لراحتك.

الخطوة 2: عندما تتمكن من فتح مشروع Android الخاص بك في Android Studio، انتقل إلى ملف "AndroidManifest.xml" الموجود في بنية دليل مشروعك.

الخطوة 3: عندما تجد ملف "AndroidManifest.xml"، انقر لفتحه في محرر النصوص.

الخطوة 4: ابحث الآن عن علامة "<application>" وأضف هذه السمة "android:usescleartexttraffic"

  • حدد موقع الملف "AndroidManifest.xml" داخل بنية دليل مشروعك.
  • افتح ملف "AndroidManifest.xml" في محرر النصوص أو داخل IDE.
  • حدد موقع السطر التالي من التعليمات البرمجية وأضفه " android:usesCleartextTraffic=”true " ضمن علامتي فتح وإغلاق التطبيق.

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:usesCleartextTraffic=”true”
</application>

في حالة تعيين السمة بالفعل على False، فاجعلها True.

الخطوة 5: بعد ذلك احفظ الملف وانتهيت.


ملاحظة: يرجى أن تضع في اعتبارك أن الطريقة المذكورة أعلاه لا يوصى بها بشدة، وذلك لأنك تتجاوز الأمان وتسمح بحركة مرور غير آمنة إلى عرض الويب لتطبيق Android الخاص بك. قد يؤدي ذلك إلى كشف معلومات المستخدم الحساسة لأطراف ثالثة. ولذلك، هذه الطريقة هي الأفضل لأغراض الاختبار أو التطوير.


2. إدراج موقع ويب معين في القائمة البيضاء باستخدام "network_security_config.Xml"

وبصرف النظر عن ما رأيته في الطريقة السابقة. يركز هذا الحل على السماح بحركة مرور نصية واضحة إلى مجالات محددة تثق بها.

بالمقارنة مع الطريقة السابقة، تعد هذه الطريقة آمنة تمامًا وتسمح لك فقط بربط صفحات الويب الآمنة لتحميلها على عرض الويب لتطبيق Android الخاص بك.

هناك شيء واحد يجب أن تضعه في الاعتبار وهو أنه لا يمكنك سوى تجربة إحدى هاتين الطريقتين، إما تمكين حركة مرور النص الواضح لجميع مواقع الويب أو التطبيقات أو السماح بنطاقات أو تطبيقات محددة فقط.
إذا كان الأمان هو أكبر اهتماماتك، فمن الأفضل لك اتباع الطريقة المذكورة أدناه:

أول شيء عليك القيام به هو إنشاء ملف Network_security_config.Xml. لهذا، يجب عليك فتح مشروع Android الخاص بك في Android Studio والانتقال إلى دليل "res" باتباع هذا المسار app/src/main/res/xml/network_security_config.xml.

الآن قم بإنشاء ملف جديد باسم " network_security_config.xml " داخل دليل الدقة وأضف السطر التالي من الرموز إليه.

<?xml version=”1.0″ encoding=”utf-8″?>
<network-security-config>
<base-config cleartextTrafficPermitted=”true”>
<trust-anchors>
<certificates src=”system” />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted=”true”>
<domain>insert_name_of_domain</domain>
<domain includeSubdomains=”true”>insert_sub_domain_including_ip_addresses</domain>
</domain-config>
</network-security-config>

سيسمح هذا لمجال معين فقط باستخدام النص الواضح. ومع ذلك، يمكنك إضافة نطاقات أو عناوين URL متعددة باستخدام عناصر "يتضمن النطاق نطاقات فرعية". ولكن لأسباب أمنية، سيكون من الأفضل إضافة النطاقات أو عناوين URL التي تثق بها فقط.

الآن، احفظ ملف “ network_security_config.xml ” وقم بتحديث ملف “AndroidManifest.xml” لجعله فعالاً.

للقيام بذلك، افتح ملف " AndroidManifest.xml " هذا، وابحث عن علامات العناصر الفرعية للتطبيق، وأدخل السطر التالي من الرموز بينهما.

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest …>
<uses-permission android:name=”android.permission.INTERNET” />
<application

android:networkSecurityConfig=”@xml/network_security_config” …>

</application>
</manifest>

احفظ وأغلق ملف " AndroidManifest.xml ". هذا كل ما في الأمر، حيث يُسمح لك الآن بتحميل صفحة ويب HTTP في Webview.


اقرأ: 12 أفضل الطرق لإصلاح خطأ NET::ERR_CERT_DATE_INVALID


3. إعادة توجيه HTTP إلى HTTPS لـ Nginx

إذا كنت تريد ألا تعرض خوادم الويب Nginx رسالة خطأ " NET::ERR_CLEARTEXT_NOT_PERMITTED " على WebViw. يمكنك فرضها على استخدام HTTPS وإنشاء اتصال آمن بين الخادم والعميل.

ولجعل ذلك ممكنًا، اتبع الخطوات الموضحة أدناه:

  • أولاً، تحتاج إلى فتح ملف تكوين Nginx لموقعك على الويب باتباع أي من هذه المسارات،/etc/nginx/conf.d أو etc/nginx/nginx.conf.
  • ابحث عن كتلة الخادم التي تعرض اسم موقع الويب الخاص بك وأدخل سطر الرموز التالي.

<VirtualHost *:80>
ServerName your_website.com # Replace with your domain name
# Redirect HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

سيعمل هذا الرمز على تمكين إعادة التوجيه من HTTP إلى HTTPS. احفظ الملف لجعل التغييرات فعالة.

الآن اختبر ما إذا كان ملف التكوين يعمل أم لا باتباع هذا الأمر "apachectl configtest".

إذا تبين أن كل شيء يعمل، فستتم مطالبتك بإعادة تشغيل خادم Apache باتباع الأمر أدناه.

# Ubuntu, Debian
sudo service apache2 restart
# CentOS, Fedora
sudo systemctl restart httpd

4. إجبار موقع WordPress الخاص بك على استخدام HTTPS

إحدى الطرق الأكثر أمانًا والموصى بها للغاية لخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED التي يمكنك اتباعها هي فرض أو تكوين موقع الويب الذي يستخدم HTTP بدلاً من HTTPS. حتى محرك بحث Google يعتبر مواقع الويب الآمنة أحد عوامل التصنيف الرئيسية في SERPs.

يمكنك الاطلاع على مدوناتنا المخصصة لتقنية إعادة التوجيه هذه. ما عليك سوى اتباع أي من الطرق التي تختارها وإزالة الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED.

  • كيف يعمل عنوان URL لإعادة التوجيه في WordPress؟ 5 أفضل الطرق
  • دليل كامل حول ترحيل HTTP إلى HTTPS في WordPress

5. تحميل موقع الويب في المتصفحات الحديثة

إذا لم تنجح أي من الطرق المذكورة أعلاه معك، أو كنت تشعر بالكسل الكافي لاتباع الطرق المذكورة أعلاه. ما عليك سوى الدخول إلى موقع الويب أو المجال من خلال أي متصفح حديث لديك، مثل Chrome أو Firefox.

ومع ذلك، في الوقت الحاضر، إذا حاولت تحميل موقع ويب HTTP على هذه المتصفحات، فقد تواجه رسالة خطأ "اتصال، ليس خاصًا" أو "علامة الاتصال غير آمنة" في شريط العناوين.

لكن هذا لا يعني أنك متحرر من خطأ NET::ERR_CLEARTEXT_NOT_PERMITTED Samsung ، ولكنك لا تزال معرضًا لمخاطر أمنية وأي بيانات تشاركها على موقع الويب لا تزال في نص واضح.

لذلك، يجب عليك تجنب مشاركة أو تقديم أي معلومات حساسة تتعلق بالتفاصيل الشخصية إلى مواقع الويب التي تستخدم HTTP. هذا هو السبب الرئيسي وراء قيام Google بتعطيله افتراضيًا.


اقرأ: كيفية إصلاح خطأ NET::ERR_CERT_AUTHORITY_INVALID؟ (10 حلول)


ما هو الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED؟

NET::ERR_CLEARTEXT_NOT_PERMITTED هي رسالة خطأ يتم عرضها في Android System Webview عندما يحاول تطبيق Android تحميل معلومات غير مشفرة أو معلومات HTTP.

يجب ألا تسيء فهم هذا الخطأ بسبب أي خلل أو مشكلات فنية. من المثير للدهشة عندما تحاول تحميل نفس عنوان URL أو تحميل نفس المعلومات على أي متصفح ويب. قد لا تواجه أي أخطاء.

نظرًا لأن NET::ERR_CLEARTEXT_NOT_PERMITTED يتم عرضه داخل تطبيقات Android، فقد تسيء أيضًا فهم أن هناك خطأ ما في تطبيق Android نفسه. ومع ذلك، يمكنك تجاوز هذا الخطأ أو إصلاحه بسهولة.

غالبية الحلول المتاحة مخصصة لمطوري Android ومسؤولي الويب. ولكن إذا كنت مستخدمًا نهائيًا، فيمكنك اتباع عدد قليل فقط من طرق استكشاف الأخطاء وإصلاحها إلى جانب تحميل عنوان URL على متصفحات الويب.


ما هو عرض الويب لنظام Android؟

إذا كنت مستخدمًا نهائيًا، فقد لا تكون لديك أي فكرة عن عرض الويب لنظام Android. دعنا نساعدك على جعل الأمر سهل الفهم.

إنها ميزة خاصة بنظام التشغيل Android تساعدك على تحميل صفحات الويب داخل تطبيقات Android دون استخدام متصفحات خارجية. كما يسمح أيضًا للمطورين بإنشاء تطبيقات هجينة عبارة عن مزيج من الميزات الأصلية والمستندة إلى الويب.

وبصرف النظر عن كل هذه الميزات، فإن العيب الوحيد الذي ستجده في عرض الويب هو أنك لن تحصل على مقدار الميزات التي تحصل عليها في المتصفح.

الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED خاص بتطبيقات Android التي تستخدم عرض الويب. لن تحصل على مثل هذا الخطأ أثناء تصفح الموقع عبر المتصفح، أي Chrome أو Firefox.

ومع ذلك، إذا قمت بزيارة موقع ويب غير آمن أو موقع ويب مبني على PHP، فقد تواجه نوعًا مختلفًا من الخطأ "اتصالك ليس خطأً خاصًا".


ما الذي يسبب الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED؟

ظهر الخطأ NET::ERR_CLEARTEXT_NOT_PERMITTED لأن تطبيق Android الخاص بك كان يحاول تحميل محتوى ويب غير مشفر عبر نص واضح. ولكن منذ بدء تشغيل الإصدار 9 (Pie) من Android، قامت Google بتعطيل نقل البيانات غير المشفرة أو تحميل صفحات ويب HTTP في تكوينها الافتراضي.

الآن، ينطبق هذا التكوين فقط على التطبيقات التي تستخدم Android View. هذا هو السبب الرئيسي لعدم مواجهة هذا الخطأ على المتصفحات حتى في نظام التشغيل Android ولكن داخل تطبيقات Android.

الغرض الكامل من Google لفرض ذلك هو توفير بيئة آمنة للمستخدمين لحماية معلوماتهم الحساسة من الجهات الخارجية. تشجع Google مطوري Android على توفير مواقع الويب المتوافقة مع HTTPS فقط في عرض الويب الخاص بهم بدلاً من اتصالات HTTP غير الآمنة. لأن HTTPS له فوائد مختلفة مثل،

  • أمان محسّن لتطبيقات Android
  • الثقة وثقة المستخدم
  • تكامل البيانات
  • المصادقة
  • فوائد تحسين محركات البحث
  • السرية للمستخدمين وغيرها الكثير.

ملخص

إذا واجهت خطأ NET::ERR_CLEARTEXT_NOT_PERMITTED في App Webview لنظام Android، فهذا يعني ببساطة أن التطبيق يحاول تحميل موقع ويب HTTP غير آمن. لأسباب أمنية، قامت Google بتمكين حظر مواقع الويب غير الآمنة التي من المحتمل أن تعرض معلومات المستخدم الحساسة للخطر.

إذا كنت مطور Android أو مسؤول موقع ويب، فاتبع الطرق الموضحة أدناه:

  • تمكين حركة مرور النص الواضحة عن طريق تعديل Androidmanifest.xml
  • إدراج موقع ويب معين في القائمة البيضاء باستخدام "network_security_config.Xml"
  • إعادة توجيه HTTP إلى HTTPS لـ Nginx
  • إجبار موقع WordPress الخاص بك على استخدام HTTPS
  • تحميل موقع الويب في المتصفحات الحديثة

إذا كان لديك أي استفسارات أو اقتراحات بخصوص هذا المنشور، فيرجى إخبارنا بها في قسم التعليقات أدناه.


أسئلة مكررة

ماذا يعني Err_cleartext_not_permited؟

NET::ERR_CLEARTEXT_NOT_PERMITTED هي رسالة خطأ يتم عرضها في Android System Webview عندما يحاول تطبيق Android تحميل معلومات غير مشفرة أو معلومات HTTP.

ما هو الخطأ Cleartext غير المسموح به على Android؟

يحدث الخطأ "نص واضح غير مسموح به" على نظام Android عادةً عندما يحاول تطبيقك تقديم طلب شبكة عبر اتصال HTTP غير آمن (نص واضح) بدلاً من اتصال HTTPS آمن. هذا الخطأ عبارة عن ميزة أمان تم تقديمها في Android لتشجيع المطورين على استخدام اتصالات آمنة لنقل البيانات عبر الشبكة.

كيفية إصلاح خطأ err_cleartext_not_permit Android

إذا كنت مطور Android أو مسؤول موقع ويب، فاتبع الطرق الموضحة أدناه:
1. قم بتمكين حركة مرور النص الواضحة عن طريق تعديل Androidmanifest.xml
2. إدراج موقع ويب معين في القائمة البيضاء باستخدام "network_security_config.Xml"
3. إعادة توجيه HTTP إلى HTTPS لـ Nginx
4. إجبار موقع WordPress الخاص بك على استخدام HTTPS
5. تحميل موقع الويب في المتصفحات الحديثة