我下面的代码是否足够安全,可以在生产中使用

Is my code below secure enough to be used in production?

本文关键字:生产中 安全 代码 是否      更新时间:2023-09-26

根据下面的代码,安全地将图像上传到php脚本的最佳实践是什么?我正在使用文件传输cordova插件将图像上传到php脚本中。

Javascript(文件传输cordova插件)

var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";
var params = new Object();
params.imageLink = "test";
options.params = params;
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(imageURI, "http://example.com/upload.php", win, fail, options);
alert("Post Uploading");
function win(r) {
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);
    console.log("Sent = " + r.bytesSent);
    alert(r.response);
}
function fail(error) {
    $.mobile.loading('hide');
    navigator.notification.alert("An error has occurred: Code = " + error.code, null, 'Alert', 'OK');
}

PHP

<?php
if(isset($_POST['imageLink'])) {
$imageLink = $_POST['imageLink'];
print_r($_FILES);
$new_image_name = $imageLink.".jpg";
move_uploaded_file($_FILES["file"]["tmp_name"], “uploads/“.$new_image_name);
}
?>

有什么建议吗?

取决于要保护的内容:

  1. 病毒/威胁冒充图片->上传/保存前使用防病毒扫描
  2. 有人在传输中窥探数据包->使用https
  3. 非用户尝试上传->您自己的访问控制列表
  4. 恶意代码嵌入图像->再次,威胁扫描仪

不过,上面的列表只是一个开始。安全是一个兔子洞,比我们预期的要深。