当用户尝试访问他们无权访问的资源时,我的服务器返回403禁止错误.除了头部,服务器还会写一条描述错误的小消息.
在Firefox中,错误消息很好地显示,用户知道发生了什么.
在Internet Explorer中,消息被隐藏并替换为403 Forbidden标准错误页面.
是否有任何特定规则允许我在所有浏览器中显示错误消息,同时仍将状态设置为403 Forbidden?
以下是此状态的RFC信息:
服务器理解请求,但拒绝履行请求.授权无效,请求不应重复.如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因.如果服务器不希望将此信息提供给客户端,则可以使用状态代码404(未找到).
好像我应该设置一条消息,但IE不会显示它.
首先让我开始说是的,我已经在google和stackoverflow专门搜索了这个,我找到了很多答案,并尝试了所有.在这一点上,我相信我唯一的资源是自己发布问题,即使情景重复,请尽量善于帮助.
情况非常基本,在Ubuntu桌面10.04上,我根据本指南及其衍生产品通过Synaptic和Php5设置了apache .此时,如果我继续使用命令行并调用php脚本,它可以工作,例如:
php test.php
Run Code Online (Sandbox Code Playgroud)
输出我的问候世界没有任何问题.但是,如果我去firefox并指向test.php它将显示403错误禁止...
我已将/ var /,/ var/www /和/var/www/test.php的所有权更改为我能想到的每个变量(www-data [apache以此用户身份运行],purefan [我的普通用户],root )它没有任何区别,我也多次更改权限777,0777(只是为了安全),644,755,没有变化.从CLI我把phpinfo放到一个文件中并在这里添加它.
如果我没有弄错,那么当Apache调用php解释器时就会发生问题,就像我去http://localhost/index.php那样,它显示了apache的默认"It Works!" 页面,但如果我将php内容添加到该文件,它只是被忽略,但没有显示错误(也检查错误日志和syslog).
所以,如果你有任何建议让我知道,这不是一个生命或死亡的事情,但真的想建立使用工人而不是prefork.
感谢您的时间
我刚刚将Wamp Server 2安装到我的电脑上.我无法访问phpmyadmin,甚至无法访问根目录下的index.php,它全部给出403 Forbidden.
我也尝试从alias.conf更改权限它不起作用.
你知道怎么解决这个问题,或者任何报价值得尝试,请分享.
提前致谢.
PS:操作系统:W7,防病毒KasperSky,Windows防火墙关闭.
编辑:重新启动wamp解决了phpmyadmin访问但目录访问(即:) http://localhost/index.php仍然被禁止.
EDIT2:我现在可以通过url访问我的index.php:127.0.0.1/index.php但我仍然无法访问http://localhost/index.php,我将使用http://localhost/
编辑3:日志充满:
[Fri Apr 13 20:50:06 2012] [error] [client ::1] client denied by server configuration: C:/wamp/www/
[Fri Apr 13 20:50:19 2012] [error] [client ::1] client denied by server configuration: C:/wamp/www/
Run Code Online (Sandbox Code Playgroud) 我在我的Mac上本地托管一个网站(所有文件都位于我的计算机上的"Sites"文件夹(〜/ Sites).我正在尝试将图像添加到我的网站,我收到403 Forbidden Error ::: NetworkError:403 Forbidden - http://172.28.15.5/~user/image.png "
有人知道吗
我只是想知道是否有人可以解释为什么我看到谷歌地图服务的403 Forbidden错误.
我一直在加载地图api:
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>
Run Code Online (Sandbox Code Playgroud)
然后使用地理编码和自动完成库将用户搜索转换为坐标,以在我的搜索结果的地图上显示.
直到昨天,当我访问自动完成服务时,我开始看到403错误,这是完美的(几个月).
我100%自信我没有达到每天25k的查询限制,而且我没有对我进行任何代码更改.
我现在已经在我的脚本加载中添加了一个API密钥,问题消失了,但我想确保这不会再次发生.基于位置的搜索是我们网站的主要功能,如果它破裂,我们会失去客户.
有没有人知道为什么会发生这种情况?
在什么情况下会再次发生?
我正在尝试使用java创建一个http get请求,当我执行代码时,我正在获取403 forbidden代码.有没有办法摆脱它?我的代码是
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;
public class Http {
private final String USER_AGENT = "Mozilla/5.0";
public static void main(String [] args){
Http http=new Http();
try {
http.get();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void get() throws Exception{
URL ob=new URL("http://www.google.com/search?q=vamsi");
HttpURLConnection con=(HttpURLConnection) ob.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("USER_AGENT", USER_AGENT);
int responseCode=con.getResponseCode();
System.out.println("Response code is "+responseCode);
BufferedReader buf=new BufferedReader(new InputStreamReader(con.getInputStream()));
String input;
StringBuffer response =new StringBuffer();
while((input=buf.readLine())!=null){
response.append(input);
}
buf.close(); …Run Code Online (Sandbox Code Playgroud) 我已经在我的Raspberry Pi上安装了Apache 2,并且当我请求index.php它加载时,但是当我尝试请求任何子文件夹或任何其他文件时(strandsort.cs在这个例子中 - 也可以是anything.txt,只是不是HTML /要得到解析的PHP),403 access denied但是当我请求应该解析的文件时(i2.php)我得到一个空白页面.
也许值得注意,phpmyadmin似乎工作正常.
我配置了以下配置:
/etc/apache2/sites-enabled/000-default
Run Code Online (Sandbox Code Playgroud)
并设置AllowOverride为ALL.
这是错误:
PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0, referer: http://raspberryIP/
PHP Fatal error: Unknown: Failed opening required '/var/www/i2.php' (include_path='.:/usr/share/php$ http://raspberryIP/
Run Code Online (Sandbox Code Playgroud)
其中"RaspberryIP"是设备的IP地址.
我有IIS(Microsoft-IIS/7.5)返回403禁止,我无法弄清楚为什么.我把它缩小到了,%2F但只有当它前面有一个字母时.知道是什么原因引起的吗?
这些工作......
但是如果你把任何一个字母放在%2F它前面那就失败了403.
这些失败......
谢谢!
更新:我排除了ColdFusion,因为这给出了相同的403:http://example.com/mySite123/indexdotcfm? x = a%2F
更新:
Top Level IIs:
Checked:
Allow unlisted file name extensions
Allow unlisted verbs
Allow high-bit characters
Unchecked:
Allow double escaping
Request Limits:
Maximum allowed content length (Bytes): 30000000 Maximum URL length (Bytes):
4096 Maximum query string (Bytes): 2048
Sites
mySite123:
Checked:
Allow unlisted verbs
Allow high-bit characters
Unchecked:
Allow unlisted file name …Run Code Online (Sandbox Code Playgroud) 我刚刚在AWS S3中创建了一个新存储桶。我想在其中托管一些静态文件,但是如果它们不全部存在,请重定向到我的主服务器。看起来很简单,但是我没有按照指示进行操作。
在存储桶中,我已授予所有人查看权限。
我添加了一个存储桶策略:
{
"Version": "2012-10-17",
"Id": "Policy999999999",
"Statement": [
{
"Sid": "Stmt9999999999",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在静态网站托管上,我启用了它并创建了简单的index.htm和error.htm页面(不是我需要它们,但是如果需要的话)。然后添加了以下重定向规则:
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<Protocol>http</Protocol>
<HostName>www.mydomain.com</HostName>
<ReplaceKeyPrefixWith>/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
Run Code Online (Sandbox Code Playgroud)
(显然,如果它没有列表权限,则需要403而不是404,但它不适用于403/404的任何变体,以及是否具有列表权限)
当我转到存储桶中不存在的URL(存在的URL可以)时,我得到的是:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>9DD57C7132E76D65</RequestId>
<HostId>
I15odykUdMnGCC+hQfb1pfsnt+gkfGVxuD2sy5PrxrX16P8Njpy3yQiLLH30evTkdOOAl28HA9M=
</HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)
(如果启用了列表权限,则为NoSuchKey)
救命!
amazon-s3 amazon-web-services http-status-code-403 http-status-code-404
当我向服务器发送POST请求时,我收到一个错误:
Failed to load http://localhost:8181/test: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 403.
Run Code Online (Sandbox Code Playgroud)
后端是用Java Spring编写的.我创建测试的方法:
createTest() {
const body = JSON.stringify({
'description': 'grtogjoritjhio',
'passingTime': 30,
'title': 'hoijyhoit'
});
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Accept': 'application/json'
}
)
};
return this._http.post(`${this._config.API_URLS.test}`, body, httpOptions)
.subscribe(res => {
console.log(res );
}, error => {
console.log(error); …Run Code Online (Sandbox Code Playgroud)