Firefox说:“您无权访问此服务器上的/somefolder/somefile.php。”IE / Chrome工作正常

背景:我有我的网站( http://www.gymandspajobs.com )代码托pipe在Linux服务器上。 我的网站允许成员注册。 填好的表格通过JavaScript文件夹“/ javascript”进行validation,如果发现信息正常,则通过javascript HTTP请求对象和保存在文件夹“/ somefolder”中的php文件“somefile.php”在数据库的根目录下插入。

问题:当一个新用户尝试使用Firefox进行注册时(我在WinXP SP2,Firefox – v3.5.2中testing过),我得到的HTTP响应(我在我的JavaScript文件中点击)是“您没有权限访问/这台服务器上的somefolder / somefile.php“。

令人惊讶的是,相同的function在IE7和Chrome中运行得非常好。

请帮忙。

感谢致敬,

Rupak Kharvandikar

我会尝试清除您的浏览器中的caching等。 PHP是服务器端代码,当从不同的前端客户端请求时,不应该有不同的行为。

你可能想尝试改变用户代理和伪装成IE当你连接到Fx(用户代理切换插件可以让你快速,轻松地做到这一点)。 这将告诉你,如果它是在服务器端防止Fx代码,或者如果它是别的。

你有没有检查你的Apache日志?

你在Firefox的错误日志中遇到与你的Javascript相关的错误,或者是任何types的安全types错误?

Firefox的日志通过工具 – >错误控制台访问

如果您的浏览器已经打开了一段时间,那么它可能已经充满了各种各样的消息,清除它,然后再次尝试在您的网站上的行动,看看是否有任何东西出现在日志中,当你通过这个过程。

JavaScript允许在您的Firefox安装? (工具 – >选项…->内容)

您是否也尝试清除Firefox安装的caching和Cookie? 你可以用Ctrl + Shift + Delete来清空它。

它可能是一个被包含的文件(CSS,JPG,甚至是一个PHP包含),这些文件被IE和其他浏览器忽略。 换句话说,当浏览器请求index.php时,浏览器也会自动请求包含在index.php(graphics,CSS,外部JavaScript文件等)中的所有文件。 如果其中一个文件返回HTTP 200(OK)响应以外的内容,其他浏览器可能会忽略它,但是Firefox可能会抛出您所看到的错误。 您需要检查所有包含文件的path和权限。

你的somefolder包含国家字符?

感谢大家的所有见解。 非常感谢。

与此同时,我发布了链接( http://www.nabble.com/You-don%27t-have-permission-to-access-typo3-alt_doc.php-on-this-server.-td11212357。 HTML )的networking托pipe家伙和我的问题似乎已经解决了,我收到了这个答复从networking托pipe家伙。

我们已经禁用您的域的mod_security来修复它。 我们已经在您的域的httpdocs目录下的.htaccess文件中input了以下内容。 我们还validation并成功地提交了雇主注册,没有任何问题。 ~~~~~ SecFilterEngineclosures~~~~~

什么是“SecFilterEngine”,什么时候SecFilterEngineclosures? 请指导。

感谢致敬,

– Rupak Kharvandikar –

我正要build议你在查看HTTP响应头后去激活mod_security,但似乎已经完成了。

Mod安全检查客户端和Apache之间的事务,它是基于规则的,规则定义在匹配的情况下应该做什么。 很明显,至less有一个规则与FF一起提交,结果是403,你应该问你的提供者一个与你的网站相匹配的规则的日志,这样你就可以在访问这个文件(通过.htaccess)时更正你的代码或者禁用mod_security。

虽然这个问题已经解决了,但是我认为制作“SecFilterEngine”可能不是解决这个问题的最好方法,因为它会影响安全性。 因此,我问主机的家伙,如果有一种方法来保持mod_security打开,但让我的function工作……这里是他们的答复…..

[问:有没有什么办法可以让我的代码保持mod_security的开启?

答。 有可能的。 但这并不容易。 您必须修改文件中的代码,使得URI不应该有模式“!(^ application / x-www-form-urlencoded $ | ^ multipart / form-data;)”,因为我们发现这个条目在Apache的错误日志 –

mod_security-action:403

模式匹配“!(^ application / x-www-form-urlencoded $ | ^ multipart / form-data;)”在HEADER(“Content-Type”)]

请指导我如何做到这一点我的registry格?