对于安全问题,我选择post方法在linux服务器上下载文件。我知道使用href = .... filename是一个下载文件的简单方法。但是黑客可以找到文件位置。
这是我的HTML代码:
<div ><b class='filename'>1.jpg</b><span class='dwlimg' rel='1.jpg'>downloadFile</span></div>
这是我的js代码:
$(document).on('click',".dwlimg",function(){
var pic = $(this).attr("rel");
$.post("action.php?act=dwlimg",{imagename:pic},function(msg){
if(msg==1){
}else{
alert(msg);
}
});
});
这是我的action.php代码:
if($action=='dwlimg')
{
$file_name = $_POST['imagename'];
$file_dir = "files/";
if (! file_exists ( $file_dir . $file_name ))
{
echo "file is not exist";
exit ();
}
else
{
$file = fopen ( $file_dir . $file_name, "r" );
Header ( "Content-type: application/octet-stream" );
Header ( "Accept-Ranges: bytes" );
Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) );
Header ( "Content-Disposition: attachment; filename=" . $file_name );
echo fread( $file, filesize( $file_dir . $file_name ));
fclose ( $file );
exit ();
}
}
我知道$ .post函数(msg)是错误的,但我不知道如何修复它。单击downloadFile时,我的网站中没有任何内容。
那么谁可以帮助我呢?