x32x01
  • بواسطة x32x01 ||
مع الانتشار الكبير للتطبيقات واستخدمها بشكل شبه كلي في أداء وتسهيل المهام اليوميه
أحيانا يوجد معلومات حساسة يجب علينا حمايتها كـ مطورين تطبيقات لعدة اسباب منها
  1. حماية الخصوصية وذلك من خلال حماية المعلومات الشخصية والحساسه من مشاركتها من قبل الأطراف غير المخوله والذي ليس لها صلاحيات للوصول إليها.
  2. الامتثال للقوانين في حماية البيانات من خلال الالتزام بالمعايير والإجراءات الصارمة و اللازمة لحماية البيانات.
  3. حماية الملكية الفكرية وذلك من خلال منع مشاركة ونشر المعلومات او المحتوى المملوك للغير.
للأسباب السابقة و لعده اسباب أخرى يجب علينا منع المستخدم من أخذ اسكرين شوت للشاشة او تسجيل الشاشة عند ما تطلب الحاجه لذلك
نقدر نمنع المستخدم من أخذ screen shot من خلال عده طرق
باستخدام باكج جاهزة اسمها
flutter_windowmanager
او تنفيذها يدويا بالنسبه للـ flutter
بالنسبه لل Android في ملف MainActivity.kt
اكتب الكود التالي
Code:
import android.os.Bundle
import android.view.WindowManager
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // below line prevents the user from taking screenshot or record the screen
        window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
    }
}

بالنسبه للـ IOS في ملف AppDelegate.swift أكتب الكود التالي
Code:
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
    override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        GeneratedPluginRegistrant.register(with: self)
        // Add the code to prevent screenshots
        if let window = self.window {
            window.isSecure = true
        }
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
    }
}
او من خلال اضافه package لـ ملف pubspec.yml
بعدها ضيف هذه السطرين لداله main
Code:
WidgetsFlutterBinding.ensureInitialized();
  // implemented using window manager
  await FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE);
  runApp(MyApp());
 

المشاركات المتشابهة

x32x01
الردود
0
المشاهدات
14
x32x01
x32x01
x32x01
الردود
0
المشاهدات
15
x32x01
x32x01
x32x01
الردود
0
المشاهدات
9
x32x01
x32x01
x32x01
الردود
0
المشاهدات
11
x32x01
x32x01
x32x01
الردود
0
المشاهدات
93
x32x01
x32x01
الوسوم : الوسوم
برمجة التطبيقات حماية المعلومات الحساسة

الدخول أو التسجيل السريع

نسيت كلمة مرورك؟

آخر المشاركات

أحدث المنتجات

إحصائيات المنتدى

المواضيع
1,600
المشاركات
1,787
أعضاء أكتب كود
193
أخر عضو
HAa
عودة
أعلى