我编写了一个文件上传脚本,我想检查上传的文件是否为PHP。
我希望我的脚本安全,因此允许上传的唯一文件是CSS和XML。
这是我的代码:
<form action="cp_home.php?mode=up_styles&type=uploading" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input class="fixed" name="ufile" type="file" id="ufile" size="35" />
<input type="button" name="Submit" onclick="upload()" value="up style" />
</form>
答案 0 :(得分:0)
在你的php代码中检查扩展名:
$allowedExts = array("css", "xml"); // css and xml are allowed here, if you want more add it here.
$extension = end(explode(".", $_FILES["file"]["name"]));
if(in_array($extension, $allowedExts)){
// your code here
}
答案 1 :(得分:0)
你可以查看扩展名,因为php只会执行php扩展文件。
$info = pathinfo(basename($_FILES['image']['name']));
$ext = strtolower($info['extension']);
if ($ext != 'php') {
// process file upload
}
或者如果您支持php3或php5文件扩展名,则可能需要使用
if (!preg_match('/^php/', $ext)) {
// process file upload
}
答案 2 :(得分:0)
$allowedExts = array("css", "xml");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (in_array($extension, $allowedExts)) {
if (move_uploaded_file($_FILES['file']["tmp_name"], PATH.$name)) {
if (file_exists($name . $extension)) {
echo "uploaded";
}
else{
echo "not";
}
}
}
答案 3 :(得分:0)
检查它的两种方法
1.你可以自己查看javascript本身
function is_php(filename){
return filename.split('.').pop()=="php";
}
2.或者你可以简单地检查后端..例如,如果你使用php本身,那么使用以下代码
$path_parts = pathinfo($filename);
if($path_parts['extension']!="php")
return false;
else
return true;
答案 4 :(得分:-1)
var x = "1.txt";
alert (x.substring(x.lastindexOf(".")+1));
在输入表单文件文本中使用它。