Burak Buldu

O bir Teknoloji KurduGalatasaray taraftarıIT ProfesyoneliAntalyalı

Apache Cordova – Android Uygulama Paketinde Assets Klasörünün Gizliliği

Hibrit ve progressive uygulama geliştirmede popüler ortamlardan Apache Cordova ile bir çok uygulama hazırlanıyor. Ancak özellikle Android uygulaması geliştirdiğimizde, böyle açık kaynak platformlar bizim yazdığımız bir çok kodu da açık seçik ortalığa bırakıyorlar. Malum APK dosyaları unzip yaparak açıldığı için, Assets klasöründe tüm başta javascript ve diğer ne dosyalarımız varsa kamuya açık alan hesabı göz önünde bulunuyor. Aslına bakarsanız, rakip diğer platformlarda da pek farklı değil bu tarz dillerde uygulama hazırlama süreçleri. Bir çok programlama dili doğrudan kaynak kodundan çalışmaz. Ama Javascript, HTML gibi işaretleme ve betik (script) dilleri mantıkları gereği çok uğraştırmamak için kaynak kodundan çalışıyorlar. Progressive veya hibrit geliştirirken de bu dillere el mahkum katlanıyoruz. Her yazdığımızı cümle alem görecek mi?

Tabiki de hayır. Peki biz şimdi onca kaynak kod yazdık, hepsini Assets klasöründe amme hizmeti mi olsun diye daha fazla sormayın, çünkü bu kaynak kodlarınızın güvenliğini nasıl sağlarsınız ona geliyorum. Tek çareniz var, şifrelemek. Paket hazırlanıp, build edilirken şifreleyecek ancak run edildiğinde (çalıştırıldığında) şifreleri çözecek bir mantık uygulamalıyız. Bunun için Apache Cordova‘da bir çok plugin geliştirilmiş. Ben bunların arasından Cordova Tottems File eklentisinden gayet memnun olduğumu söyleyebilirim. Eklentimizi kurduktan sonra tek yapmamız gereken, plugin klasöründe eklentimizin içindeki plugin.xml dosyasında nelerin şifrelenip şifrelenmeyeceğini ayarlamamız gerekiyor.

Eklenti Kurulumu

  1. Terminal’de eklentimizi aşağıdaki komutla ekliyoruz.

cordova plugin add cordova-plugin-tottems

2. proje klasörümüzde plugins/cordova-plugin-tottems/plugin.xml dosyasında şifrelemek istediğimiz dosyaları düzenliyoruz. Örnek kod aşağıda bulunmaktadır.

<cryptfiles>
    <include>
        <file regex="\.(htm|html|js|css)$" />
    </include>
    <exclude>
        <file regex="exclude_file\.js$" />
    </exclude>
</cryptfiles>
Paylaş