如果上传的文件不是.jpg,.jpeg或.JPG
,我正在尝试让我的网站出错<?php
function error(){echo"<script>$(function(){alert('Error')});</script>"; exit();}
$fileName = $_FILES['image']['name'];
$ext = substr(strrchr($fileName, "."), 1);
if($ext != "jpg" || $ext != "jpeg" || $ext != "JPG"){ error(); }
?>
截至目前,当上传另一个文件类型(.png,.gif,.doc等)时,什么也没发生。 error()函数会阻止页面的其余部分工作,但不会向用户显示错误警告。
答案 0 :(得分:1)
更改此行:
function error(){echo"<script>$(function(){alert('Error')});</script>"; exit();}
这个:
function error(){echo"<script>alert('Error');</script>"; exit();}
答案 1 :(得分:0)
以下是“白名单”文件扩展名的简单摘要 -
$path_info = pathinfo($fileName);
$ext = strtolower($path_info['extension']);
$extWhitelist = array(
'bmp',
'gif',
'jpeg',
'jpg',
'png'
);
if (!in_array($ext,$extWhitelist)){
// invalid file extension!
}
仅允许$extWhitelist
中的文件扩展名。
资源 -