Android常见安全风险点之sdcard硬编码

Android4.1之前的版本中,sdcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示,而在Jelly Bean系统中修改为了“/storage/sdcard0”,以后可能还会有多个sdcard的情况。目前为了保持和之前代码的兼容,不要硬编码“/sdcard/”。

为了使代码更加健壮并且能够兼容以后的Android版本和新的设备,请通过Environment.getExternalStorageDirectory().getPath()来获取sdcard路径,如果需要往sdcard中保存特定类型的内容,可以考虑使用Environment.getExternalStoragePublicDirectory(String type)函数,该函数可以返回特定类型的目录。

相关推荐:
存在内容被替换的风险,openFileOutput禁止使用MODE_WORLD_READABLE和MODE_WORLD_WRITABLE。 1. 避免使用MODE_WORLD_WRITEABLE和MODE_WORLD_READABLE模式创建进程间通信的内部存储(Internal Storage)文件, …
由于应用开发者没有对传入的数据做异常判断,恶意应用可以通过传入畸形数据,例如向getXXXExtra()传入自定义的序列化类对象,会导致应用本地拒绝服务。 对getextra方法加上try catch 捕获异常,防止应用拒绝服务。
当系统辅助功能中的任意一项服务被开启后,所有由系统提供的WebView都会被加入两个JS objects,分别为是”accessibility” 和 “accessibilityTraversal”,如果应用使用了系统的WebView,并且设置了setJavaScr …
隐式intent没有明确指明哪些接收方有权限接收,恶意程序指定action标识后,可以获取intent内容,导致数据泄露,intent劫持,仿冒,钓鱼应用等风险。 使用Intent.setPackage、Intent.setComponent、Intent.s …
在manifest文件中加上:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
拿起手机扫一扫即可带走我!