Soru Cevap 1 – Android uygulamalarında cookie yönetimi nasıl olmalıdır ?

1 – Android uygulamalarında cookie (çerez) yönetimi nasıl olmalıdır ?

SORU : Merhaba Arkadaşlar bir android uygulama geliştiriyorum. Yaptığım Uygulamada Kullanıcı Adı Ve Şifre İle Giriş Yapılabilecek. Uygulamada Kredi sistemi de olacağı için Güvenli Bir Cookie yapmam gerekiyor. Kişinin Kullanıcı Adı Ve Şifresiyle Giriş Yaptıktan sonra, Uygulamayı Kapatıp açınca tekrar giriş yapmasını İstemiyorum. Bunun İçin Nasıl Bir Yol İzlemeliyim ?Teşekkürler.

Cookie ve Güvenlik birlikte anılamayacak kadar zıtlar aslında. Özellikle kullanıcı adı ve şifre gibi bilgileri Cookie’lerde tutmak çok güvenli bir yöntem değil. Android’de bazı bilgilerin her uygulama çalıştırıldığında uygulama tarafından hatırlanmasını isterseniz iki yöntemden bahsedebilirim. Verileri SQLite veritabanında veya SharedPreferences kullanarak bir XML dosyasında saklayabilirsiniz. Fakat bunların ikisinide aşağıdaki şekliyle önermiyorum, Neden ? :

1 – SharedPreferences : Uygulama cihaza yüklendikten sonra ilk çalıştırıldığında kullanıcıdan bir defa almak istediğiniz verileri istersiniz ve bu verileri kodla oluşturduğunuz XML dosyasına kaydedersiniz. Uygulama ikinci defa açılıp login olmak istediğinde kullanıcıdan tekrar şifre istemek yerine otomatik olarak bu dosyadan okursunuz. ( Güvenli Değil )

2 – SQLite : Üsttekine benzer mantıktadır fakat verileri XML dosyasında tutmak yerine SQLite veritabanıdna tutulur ve her login işleminde uygulama verileri buradan okur. ( Güvenli değil )

Neden güvenli değil ? : Normalde Android işletim sisteminde yüklü uygulamaların dosyalarına erişmeye izin verilmez. Yani bazı verilerin tutulduğu XML dosyaları ve SQLite veritabanı dosyalarına erişemezsiniz. Fakat bilinen adıyla rootlama denilen işlemle Android işletim sisteminde root yetkisi (tam yetki) alınabilmekte ve yüklü uygulamaların tüm veri dosyalarına erişim sağlanabilmektedir. Root edilmiş cihazların başkalarının eline geçmesi veya farkında olmadığınız uygulamaların bu belirtilen dosyalara erişmesi gibi durumlarda kullanıcının şifre gibi önemli bilgileri 3.kişilerin eline geçebilir. Bu sebeple önemli veriler sabit dosyalarda tutulmazlar.

Çözüm nedir ? : Yukarıda bahsettiğim güvenli olmayan yöntemlerin güvenli olmayışının sebebi verilerin “açıkça” dosyalara yazılmasıydı. Burada verilerin şifrelenip dosyalara yazılmasıysa güvenlik sıkıntısını büyük ölçüde giderebilirsiniz.

Android uygulamalarında alınabilecek güvenlik önlemleri ile ilgili Bedirhan Urgun’un şu yazısını okuyabilirsiniz.

Guvenli Android Uygulama Geliştirme İpuçları

Güvenli Uygulama Geliştirme Android