تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يوضّح هذا المستند طرقًا لمراقبة الأنشطة الحسّاسة، مثل عمليات تسجيل دخول المستخدمين وعمليات الشراء على الإنترنت.
FLAG_SECURE
FLAG_SECURE هي علامة نافذة تُعلم نظام التشغيل Android بعدم السماح بأخذ لقطات شاشة أو عرض طريقة عرض النافذة على شاشة غير آمنة (مثل بث الشاشة). ويكون ذلك مفيدًا للتطبيقات التي تحتاج إلى حماية المعلومات الحسّاسة، مثل التطبيقات المصرفية أو تطبيقات إدارة كلمات المرور. عند وضع علامة FLAG_SECURE على نافذة، يمنع نظام التشغيل Android أخذ لقطات شاشة ويمنع عرض النافذة على شاشة غير آمنة، مثل تلفزيون أو جهاز عرض. يساعد ذلك في حماية المعلومات المعروضة في النافذة من أن يصل إليها أشخاص غير مصرَّح لهم بذلك.
كيف يساعد ذلك في الحدّ من الاحتيال؟
قد يسترد تطبيق أو كيان ضارّ لقطات شاشة في الخلفية. عندما تتغير حالة تطبيقك إلى وضع الخلفية، يمكن استخدام FLAG_SECURE. عند أخذ لقطة شاشة، تكون الصورة الناتجة فارغة.
تساعد FLAG_SECURE أيضًا في حالات استخدام مشاركة الشاشة عن بُعد. ولا يقتصر الأمر على التطبيقات الضارة التي تسترد لقطات الشاشة، بل إنّ تطبيقات مشاركة الشاشة المشروعة تُستخدَم أيضًا بشكل شائع في حالات احتيال.
التنفيذ
بالنسبة إلى طرق العرض التي تتضمّن المعلومات التي تريد حمايتها، أضِف ما يلي:
يُرجى العِلم أنّ هذا الأسلوب لا يمكن الاعتماد عليه في منع هجمات التراكب. في بعض الحالات، لا يمكنه التنبؤ بشكل صحيح بما إذا كان تسجيل الشاشة نشطًا، ولكنّه يغطي معظم حالات الاستخدام. للتخفيف من هجمات التراكب، يُرجى قراءة القسم التالي حول أذونات HIDE_OVERLAY_WINDOWS.
HIDE_OVERLAY_WINDOWS
HIDE_OVERLAY_WINDOWS هو إذن تمت إضافته في Android 12، ويمكن لتطبيقك
إيقاف عرض الطبقات فوقه. في نظام التشغيل Android 12، صعّبنا الحصول على إذن SYSTEM_ALERT_WINDOW، ما يتيح لتطبيقك حظر التراكبات من التطبيقات التابعة لجهات خارجية.
كيف يساعد ذلك في الحدّ من الاحتيال؟
عند تفعيل إذن HIDE_OVERLAY_WINDOWS، فإنك تختار عدم السماح بعرض طبقات التطبيق فوق تطبيقك. يوفّر هذا الإذن آلية حماية من هجمات التخفي والتنفيذ.
وكما هو الحال مع أي إذن، يجب أن تثق في أي تطبيق يعرض محتوى على الشاشة بنفس قدر ثقتك في أي تطبيق آخر على الجهاز. بعبارة أخرى، يجب ألا يسمح تطبيقك للتطبيقات الأخرى بعرض طبقات فوقه إلا إذا كنت تعرف أنّ التطبيق الآخر موثوق به. قد يكون السماح لأحد التطبيقات بعرض محتوى على السطح فوق التطبيقات الأخرى أمرًا خطيرًا لأنّه
يمكن أن يسرق كلمات المرور أو يقرأ الرسائل.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Secure sensitive activities\n\nThis document details ways to monitor sensitive activities, such as user logins\nand online purchases.\n\nFLAG_SECURE\n-----------\n\n`FLAG_SECURE` is a [Window flag](/reference/android/view/WindowManager.LayoutParams#FLAG_SECURE) that tells Android not to allow screenshots\nor to display the window view on a non-secure display (such as Casting the\nscreen). This is useful for applications that need to protect sensitive\ninformation, like banking apps or password managers. When a window is flagged\nwith `FLAG_SECURE`, Android prevents screenshots from being taken and prevents\nthe window from being displayed on a non-secure display, such as a TV or\nprojector. This helps to protect the information that is being displayed in the\nwindow from being accessed by unauthorized people.\n\n### How this helps mitigate fraud\n\nA malicious app or entity might retrieve background screenshots. When the state\nof your app changes to the background, `FLAG_SECURE` can be used. When the\nscreenshot is taken the resulting image is blank.\n\n`FLAG_SECURE` also helps with remote screen sharing use cases. It isn't always a\nmalicious app that will retrieve screenshots, legitimate screen sharing apps are\nalso commonly found used in fraudulent situations.\n\n### Implementation\n\nFor views with the information you want protected, add the following: \n\n### Kotlin\n\n```kotlin\nwindow?.setFlags(\n WindowManager.LayoutParams.FLAG_SECURE,\n WindowManager.LayoutParams.FLAG_SECURE\n)\n```\n\n### Java\n\n```java\nwindow.setFlags(\n WindowManager.LayoutParams.FLAG_SECURE,\n WindowManager.LayoutParams.FLAG_SECURE\n);\n```\n\n### Best practices\n\nIt is important to note that this approach isn't reliable in preventing overlay\nattacks. In some cases it does not correctly predict if screen recording is\nactive, however it does cover most use cases. To mitigate overlay attacks, read\nthe next section about `HIDE_OVERLAY_WINDOWS` permissions.\n| **Note:** For Android 11 (API 30) and lower `FLAG_SECURE` is able to help around 70% of the devices reliably. This is because on certain devices keyboard taps can be recorded.\n\nHIDE_OVERLAY_WINDOWS\n--------------------\n\n`HIDE_OVERLAY_WINDOWS` is a permission added in Android 12 where your app can\nopt-out of having application overlays drawn over it. In Android 12 we have made\nit harder to acquire the [`SYSTEM_ALERT_WINDOW`](/reference/android/Manifest.permission#SYSTEM_ALERT_WINDOW) permission, essentially\nallowing your app to block overlays from third-party apps.\n\n### How this helps mitigate fraud\n\nWhen you enable the `HIDE_OVERLAY_WINDOWS` permission you are opting out of\nhaving application overlays drawn on top of your app. This permission provides a\nprotection mechanism against [cloak and dagger](https://cloak-and-dagger.org/) attacks.\n\n### Implementation\n\nTo enable this permission, add [`HIDE_OVERLAY_WINDOWS`](/reference/android/Manifest.permission#HIDE_OVERLAY_WINDOWS) to your project's\nmanifest.\n\n### Best practices\n\nAs with any permission, you should trust any overlay app at least as much as you\ntrust any other app on the device. In other words, your app shouldn't allow\nother apps to draw overlays over it unless you know the other app is\ntrustworthy. Allowing an app to draw over other apps can be dangerous because it\ncan steal passwords or read messages."]]