به کار گیری از خاطر فرنگی
پوشههای ساخت و ساز گردیده در یاد فرنگی، مانند SD کارت ها، در همگی بخشها قابل قرائت و تایپ کردن طراحی اپلیکیشن در مشهد میباشند.
از آنجا که یاد فرنگی میتواند به وسیله استفاده کننده حذف خواهد شد و همینطور به وسیله هر طرحی اصلاح خواهد شد،
بسیار پیشنهاد میشود که داده ها حساس را با به کارگیری از خاطر فرنگی ذخیره نکنید.
برای تلاوت و تایپ کردن فولدر ها در خاطر فرنگی به روشی امن خیس، از کتابخانه Security به کارگیری فرمایید که کلاس EncryptedFile را ارائه میدهد.
هنگام مدیر اطلاعات از یاد فرنگی می بایست اعتبار سنجی ورودی را همان طور که با داده های هر منبع نامعتبر اعمال می دهید جاری ساختن دهید.
پیش از بار گذاری پویا نباید فولدر های اجرایی یا این که کلاس را در خاطر فرنگی ذخیره فرمایید.
درصورتی که اپلیکیشن شما پوشههای اجرایی را از یاد فرنگی بازیابی مینماید، پوشهها می بایست پیش از بارگیری پویا به وسیله گوگل امضا گردیده و از لحاظ کدگذاری تأیید شوند.
به کارگیری از content providers
content providers مکانیزم ذخیره سازی ساختار یافته ای را ارائه میدهند که میتواند
به اپلیکیشن فردی شما محصور گردد یا این که برای دسترسی به بقیه نرمافزار ها صادر گردد.
در صورتیکه قصد ندارید به نرمافزار های دیگر دسترسی به ContentProvider خویش ارائه دهید،
آنها را تحت عنوان android:exported=false در مانیفست اپلیکیشن آرم بزنید.
در غیر این شکل، خصوصیت android:exported را روی true تهیه و تنظیم نمائید تا به بقیه نرمافزارها اذن دسترسی به دادههای ذخیرهگردیده را بدهید.
هنگام ساخت و ساز یک ContentProvider که برای استعمال به وسیله بقیه نرم افزار ها صادر میشود،
میتوانید یک تایید صلاحیت برای تلاوت و تایپ کردن مشخص و معلوم نمائید، یا این که میتوانید مجوزهای مجزایی را برای تلاوت و تایپ کردن مشخص و معلوم فرمایید.
درصورتیکه از یک ContentProvider برای به اشتراک گذاری اطلاعات صرفا در میان اپ های خویش به کار گیری میکنید،
ترجیحاً از خصوصیت android:protectionLevel برای حفظ از امضای نرم افزار به کار گیری فرمائید.
مجوزهای امضا گردیده نیازی به تأیید استفاده کننده ندارند، بدین ترتیب تجربیات کاربری خوب و دسترسی در دست گرفتن گردیده تری
به دادههای ContentProvider هنگامی که اپلیکیشنهایی که به دادهها دسترسی داراهستند با به عبارتی کلید امضا می گردند، ارائه مینمایند.
ContentProvider همینطور میتوانند با اعلام خصوصیت android:grantUriPermissions و به کارگیری از
FLAG_GRANT_READ_URI_PERMISSION و FLAG_GRANT_WRITE_URI_PERMISSION در شی Intent که مؤلفه را فعال مینماید،
دسترسی ظریفتری را آماده نمایند. دامنه این مجوزها را می اقتدار با عنصر محدودتر کرد.
استعمال از مجوزهای دسترسی
از آنجایی که در اندروید همگی اپها از یکدیگر غیروابسته و به طور جداگانه میباشند،
نرمافزارها می بایست به صراحت منابع و دادههای خویش را در شکل نیاز به اشتراک بگذارند.
آنان این شغل را با اعلام مجوزهای مایحتاج خویش برای قابلیت و امکانهای مازاد که به وسیله سندباکس نخستین ارائه نشده میباشد، مثلا دسترسی به خصوصیتهای دستگاه مانند دوربین، اعمال میدهند.
درخواست جواز
شما می بایست تعداد مجوزهایی را که نرمافزار شما درخواست می نماید به دستکم برسانید.
محصور کردن دسترسی به مجوزهای حساس خطر سوء به کار گیری ناخواسته از آن مجوزها را کاهش میدهد.
همینطور اپلیکیشن شمارا برای مهاجمان زخمپذیرتر مینماید.
مجموعاَ، در حالتیکه مجوزی برای تلاش نرم افزار شما مورد نیاز وجود ندارد، آن را درخواست نکنید.
در صورتیکه قابلیتی وجود دارااست که اپلیکیشن نمی تواند فارغ از آن جاری ساختن گردد، آن را با به کار گیری از عنصر در فولدر مانیفست اعلام فرمائید.
درصورتیکه بتوانید نرم افزار خویش را به نحوی پیاده سازی فرمائید که نیازی به جواز نداشته باشد، به طبع اینکار را بکنید.
برای مثال، به مکان درخواست دسترسی به داده ها دستگاه برای تولید یک شناسه مخصوص،
یک GUID برای نرمافزار خویش ساختوساز فرمایید (به نصیب مرتبط با مدیر داده های استفاده کننده رجوع نمایید).
یا این که به مکان به کارگیری از یاد فرنگی (که نیاز به تایید صلاحیت دارااست)، اطلاعات را در خاطر داخلی ذخیره نمایید.
خلال درخواست مجوزها، اپ شما قادر است از عنصر برای نگهداری از IPC که به امنیت حساس میباشد و در معرض بقیه نرم افزار ها مانند ContentProvider میباشد به کار گیری نماید.
در کل، سفارش میکنیم در شکل قابلیت از در اختیار گرفتن های دسترسی به غیر از مجوزهای تأیید گردیده به وسیله استفاده کننده به کارگیری فرمایید چون مجوزها ممکن میباشد برای یوزرها سرگردان کننده باشد.
مثلا، به کار گیری از سطح پشتیبانی از امضا را در مجوزهای رابطه IPC در میان نرم افزار های کاربردی ارائه گردیده به وسیله یک بسط دهنده در لحاظ بگیرید.