使用php在文件上写入base64时出现错误403

时间:2019-01-22 12:44:48

标签: php

我正在尝试解码base64字符串并将其写入文件:

<?php
    // requires php5
    define('UPLOAD_DIR', '/images/');
    $img = $_POST['img'];
    $img = str_replace('data:image/png;base64,', '', $img);
    $img = str_replace(' ', '+', $img);
    $data = base64_decode($img);
    $file = UPLOAD_DIR . uniqid() . '.png';
    $success = file_put_contents($file, $data);
    print $success ? $file : 'Unable to save the file.';
?>

但是服务器给出以下错误消息:

  

403禁止访问

     

您无权访问此服务器上的testupload.php

我已经为php文件和images目录设置了所有权限,所以我不明白为什么会出现此错误。

当我将解码后的图像字符串直接放在$img变量中时,它可以工作,并且会在images文件夹下创建文件...但是当我尝试发布解码后的字符串时,它不起作用。

我该如何解决?

注意: 当我们尝试发送解码后的图像字符串时,它可能包含某些病毒或来自黑客的病毒……我与主机提供商联系,他们说如果您希望我们可以使用modsecurity,但这样做的确是不安全的。 。那么我与这种情况有什么关系?

0 个答案:

没有答案