通过Android在PHP中存储base64编码图像的安全措施

时间:2016-01-10 13:15:32

标签: php android

我有一个api,它接受来自Android应用程序的base64编码格式的图像,存储在一个位置。 我在网上找到的代码是:

// Get image string posted from Android App
    $base=$_REQUEST['image'];
    // Get file name posted from Android App
    $filename = $_REQUEST['filename'];
    // Decode Image
    $binary=base64_decode($base);
    header('Content-Type: bitmap; charset=utf-8');
    // Images will be saved under 'www/imgupload/uplodedimages' folder
    $file = fopen('uploadedimages/'.$filename, 'wb');
    // Create File
    fwrite($file, $binary);
    fclose($file);
  • 我有点担心内容的安全性 未来。在多部分表单数据的情况下,我有很多方法需要检查 图片。不知道在这种情况下采取什么措施。这是 足够安全吗?
  • 也可以将图像发布到Android的多部分表单数据中 这个api?
  • 或者我可以将其转换为服务器端的表单数据吗?

1 个答案:

答案 0 :(得分:1)

我有自己的,也许不是那么受欢迎的方式! 我在base 64字符串的开头添加一些特殊字符串,在php中,我检查它,如果它存在,我知道它来自我的应用程序,我从base64中删除字符串并解码并保存图像! PHP代码,是我这样的事情: 这里$ base是来自app的基本64字符串,它应该有前缀!

// here, $prefix, is the string that we added in the beginning of our base64 string 
$prefix = "*%%*SOME_SPECIAL_CHARACTERS*%%*"; 
if (substr($base, 0, strlen($prefix)) == $prefix) { 
   $base = substr($base, strlen($prefix)); 
} else { 
   networkError("CHAR", -2); 
} 
// Decode Image 
$binary = base64_decode($base);

诅咒仍然是一个职业黑客可以破解这个,但他们黑客攻击