0

遇到这种奇怪的情况:

我的 php 脚本正确上传图像文件并重命名它们,只要它们是指定的 png/gif/jpeg 文件。

但!当我上传非图像文件时,例如。.php 或 .html [用于测试/黑客] 第一次上传按预期被拒绝,并发出我自己的构造错误 - 到目前为止一切顺利,但如果发生以下情况,接下来会发生以下情况:

1)我上传 nxt/2nd 文件,如果下一个文件是允许的图像文件没有问题。2)我上传下一个/第二个文件,如果这个第二个文件也是不允许的图像文件,即。两次连续的不允许上传脚本停止执行,并在浏览器中正确调用脚本/url,并出现 403 - 提交错误???

  • 如果我刷新浏览器,同样的 403 错误仍然存​​在。
  • 如果我单击 url 并按返回,则脚本将运行“一个新的”,所有以前的字段值都被清空。

(我已更改上传到 777 的非图像文件的权限,只是为了确保这不是原因 - 但同样的错误仍然存​​在)

我该如何解决这个问题???- 这可能是我自己的代码的问题吗?- 还是 html/php 内部工作有问题?- 这还能是什么,任何人都面临类似的问题?

谢谢你。

--- 对于那些想要代码的人 - 只显示重要的部分..

<form name="sellerscript" action="" method="POST" enctype="multipart/form-data">

<input type="file" name="upload3" id="f3" size="40" />
<input value="Image Upload/Adjust" name="imgupload" type="submit"> <br>

<input type="hidden" name="turn" value="<?php echo $round;?>" />
<input name="fn3h" type="hidden" value="<?php echo $fn3; ?>"  />
    <input name="uf3h" type="hidden" value="<?php echo $uf3; ?>"  />

--- php --

//================上传文件变量=[仅使用照片/图像3 ===========

$allowed = array( 'image/gif' , 'image/png' , 'image/jpeg' , 'image/pjpeg' );
$fname=$fname2=$fname3=''; $uploaded1=$uploaded2=$uploaded3=$auto_insertid=FALSE;

    $uid1=$uid2=$uid3='';       // id for uploads table

    $currentf1=$currentf2=$currentf3=''; //-- present loaded fname

//-- 上传处理

if ( !isset($_POST['rmp3']) && $removep3h!='Yes') //不进入 whn prev.file.beng remvd
{

//-- echo '<br>image 3 being uploaded:name+'.$_FILES['upload3']['name'].'<br>' ;

if ( isset($_FILES['upload3']) )
{

if ( ( ($_FILES['upload3']['name']!="" ) || ($_FILES['upload3']['name']!=NULL ) ) && ($_FILES['upload3'] ['size'] <= 1524288 ) ) { $uf3=$_FILES['upload3']['name']; // 用户自己的最后上传文件的名称;

//--echo "<br> _________ file under 520k --upload permitted file---------";

///////////////////////////

最重要的是似乎正在工作,除了:当两个文件不是 png/gif/jpeg 连续上传一个接一个后 - 发生 403 错误。

文件是: [root@myhost Desktop]# ls -l *.png -rwxrwxrwx 1 root root 27342 Oct 30 18:46 a1-banner5.png -rwxrwxrwx 1 root root 31812 Nov 11 23:31 a1-credit.png # - rwxrwxrwx 1 arif arif 1418 2011 年 10 月 8 日 2851auto.gif -rwxrwxrwx 1 根 2321 2011 年 10 月 8 日 btf2.gif

-rwxrwxrwx 1 根 46321 Oct 22 23:35 ez-calc.html

-rwxrwxrwx 1 根 25958 10 月 25 日 23:58 dixonhome.html -rwxrwxrwx 1 根 24883 10 月 26 日 00:01 dixons-home.html

注意:除了 [a1-banner5.png] 之外,所有图像文件在所有序列中上传都没有问题 - 如果在非图像上传之后作为第二个文件上传,这会产生相同的问题,即。403 错误。yploaded 的其他 hrml 文件会产生 403 错误。

文件上传自:drwxr-xr-x 26 root www-data 4096 Feb 13 20:38 桌面文件上传至:drwxrwxrw-2 www-data www-data 4096 Feb 17 23:45 上传临时目录:drwxrwxrwx 47 root www-data 12288 2 月 18 日 00:25 tmp(尝试 root 作为 grp - 相同的错误)

错误:网址 + 403

www.testdomain/domainsite/sellerscript.php

403 Forbidden 拒绝访问服务器上的该资源!由 LiteSpeed Web 服务器提供支持 LiteSpeed Technologies 不对本网站的管理和内容负责!


当脚本运行完美时,仅上传图片:url:

www.testdomain/domainsite/sellerscript.php

文件 > Photo-3/btf2.gif 已上传!

[注意:两个网址相同!]

我希望这足以让某人发现问题。

谢谢你。

4

1 回答 1

0

好吧,检查您的权限,如果您可以在目录中搜索以及您的读/写权限。

于 2013-02-17T21:03:28.143 回答