我下面的代码是否足够安全,可以在生产中使用
Is my code below secure enough to be used in production?
根据下面的代码,安全地将图像上传到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);
}
?>
有什么建议吗?
取决于要保护的内容:
- 病毒/威胁冒充图片->上传/保存前使用防病毒扫描
- 有人在传输中窥探数据包->使用https
- 非用户尝试上传->您自己的访问控制列表
- 恶意代码嵌入图像->再次,威胁扫描仪
不过,上面的列表只是一个开始。安全是一个兔子洞,比我们预期的要深。
相关文章:
- 生产中来自Customizer的Wordpress内联样式
- Meteor-如何在开发或生产中使用包
- 在生产中使用类似Grunt的构建过程
- 如何修复 Webpack 在生产中篡改我的代码
- 如何在开发和生产中动态包含脚本
- 当使用browserfy时,建议在生产中要求缩小版本,但在开发中进行调试的方法是什么
- html在开发和生产中的不同脚本
- 对象未在本地主机中定义(Javascript),但在生产中未定义
- 如何在ExpressJS生产中捕获res.send(404)
- 应用在生产中加载时间过长
- JQuery 事件不是在生产中处理 heroku,而是在开发中工作
- 在没有 Traceur 的生产中使用 SystemJS
- 分析生产中应用程序的浏览器性能
- 为什么在生产中使用不带括号的函数不好
- 生产中的跨域问题
- JavaScript在开发中工作,而不是在生产中工作(Heroku)
- JavaScript 在生产中刷新 - IIS
- Angular 禁用生产中的缓存部件
- 生产中的源映射文件 - 是否安全
- 我下面的代码是否足够安全,可以在生产中使用