×

php403跳转

php403跳转(php 跳转)

admin admin 发表于2023-04-01 19:46:09 浏览66 评论0

抢沙发发表评论

本文目录一览:

安装phpstudy 测试出现403错误 Forbidden You don't have permission to access / on this server. 跪求解

安装phpstudy测试出现403错误是表示你没有访问权限,解决方法如下:

在C:\Windows\System32\drivers\etc下的hosts文件下添加 ,注意前面不要加#号,那是注释。

找到Apache 下的httpd.conf 文件 打开,去掉171行前边的#

在apache的配置文件vhosts.conf中,配置以下内容。

重启Apache就可,以。。。。域名配好了。。此时又有问题了。

浏览器出这样的页面但是当你输入时就可以访问index.php的程序需要写完整路径,此时将第三步中的18行注释掉 或把options后面的两个单词前面加上 + , 再重启Apache就可以直接访问。

php 403 forbidden nginx怎么解决

1.网站禁止特定的用户访问所有内容,例:网站屏蔽某个ip访问。

2.访问禁止目录浏览的目录,例:设置autoindex off后访问目录。

3.用户访问只能被内网访问的文件。

1.权限配置不正确

这个是nginx出现403 forbidden最常见的原因。

为了保证文件能正确执行,nginx既需要文件的读权限,又需要文件所有父目录的可执行权限。

例如,当访问/usr/local/nginx/html/image.jpg时,nginx既需要image.jpg文件的可读权限,也需要/,

/usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的可以执行权限。

解决办法:设置所有父目录为755权限,设置文件为644权限可以避免权限不正确。

2.目录索引设置错误(index指令配置)

网站根目录不包含index指令设置的文件。

例如,运行PHP的网站,通常像这样配置index

index index.html index.htm index.php;

当访问该网站的时,nginx 会按照 index.html,index.htm ,index.php 的先后顺序在根目录中查找文件。如果这三个文件都不存在,那么nginx就会返回403 Forbidden。-php403跳转

如果index中不定义 index.php ,nginx直接返回403 Forbidden而不会去检查index.php是否存在。

同样对于如果运行jsp, py时也需要添加index.jsp,index.py到目录索引指令index中。

解决办法:添加首页文件到index指令,常见的是index.php,index.jsp,index.jsp或者自定义首页文件。

如何更改php网站源码显示403页面

对403、404等错误显示特定网页,不是PHP的范畴,这与你的WEB服务器有关,在WEB服务器里面设置,例如APACHE服务器修改httpd.conf文件:

ErrorDocument 401 /error/401.php

ErrorDocument 403 /error/403.php

ErrorDocument 404 /error/404.php

PHP问题提示403错误怎么回事????

4xx - 客户端错误

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 ·400 - 错误的请求。

·401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: ·401.1 - 登录失败。

·401.2 - 服务器配置导致登录失败。

·401.3 - 由于 ACL 对资源的限制而未获得授权。

·401.4 - 筛选器授权失败。

·401.5 - ISAPI/CGI 应用程序授权失败。

·401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。

·403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: ·403.1 - 执行访问被禁止。

·403.2 - 读访问被禁止。

·403.3 - 写访问被禁止。

·403.4 - 要求 SSL。

·403.5 - 要求 SSL 128。

·403.6 - IP 地址被拒绝。

·403.7 - 要求客户端证书。

·403.8 - 站点访问被拒绝。

·403.9 - 用户数过多。

·403.10 - 配置无效。

·403.11 - 密码更改。

·403.12 - 拒绝访问映射表。

·403.13 - 客户端证书被吊销。

·403.14 - 拒绝目录列表。

·403.15 - 超出客户端访问许可。

·403.16 - 客户端证书不受信任或无效。

·403.17 - 客户端证书已过期或尚未生效。

·403.18 - 在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。

·403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。

·403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。

·404 - 未找到。 ·404.0 -(无) – 没有找到文件或目录。

·404.1 - 无法在所请求的端口上访问 Web 站点。

·404.2 - Web 服务扩展锁定策略阻止本请求。

·404.3 - MIME 映射策略阻止本请求。

·405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)

·406 - 客户端浏览器不接受所请求页面的 MIME 类型。

·407 - 要求进行代理身份验证。

·412 - 前提条件失败。

·413 – 请求实体太大。

·414 - 请求 URI 太长。

·415 – 不支持的媒体类型。

·416 – 所请求的范围无法满足。

·417 – 执行失败。

·423 – 锁定的错误。

PHP Curl出现403错误怎么办

使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不使用proxy则都能正常访问。-php403跳转

难道google baidu就不让用proxy连接么?显然不可能,所以打开curl的信息输出(curl_setopt($this-mSh, CURLOPT_VERBOSE, 1);)看看,得到以下结果:-php403跳转

. 代码如下:

*   Trying 127.0.0.1... * connected

* Connected to 127.0.0.1 (127.0.0.1) port 8118 (#0)

* Establish HTTP proxy tunnel to 

 CONNECT  HTTP/1.0

Host: 

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

Proxy-Connection: Keep-Alive

 HTTP/1.0 403 Connection not allowable

 X-Hint: If you read this message interactively, then you know why this happens ,-)

 

* The requested URL returned error: 403

* Received HTTP code 403 from proxy after CONNECT

* Closing connection #0

... Failed.

可以看到proxy服务器工作正常,的确是baidu返回了403错误,但原因肯定还在我这边。终于,从网上(1of2, 2of2)得到了点启发──我使用的是proxytunnel而非proxy。

在代码中,有这么一句:

. 代码如下:

 curl_setopt($this-mSh, CURLOPT_HTTPPROXYTUNNEL, true);

 curl_setopt($this-mSh, CURLOPT_PROXY, $phost);

php文档中没有详细说明,不过man curl中有详细解释,两者都是代理,proxytunnel(-p参数)允许其他协议通过http代理传输,而proxy(-x参数)则只能走http协议。所以我猜测,google baidu的服务器和curl的proxytunnel不和,所以返回403。-php403跳转

禁用掉上面2行代码的第一句后,curl访问恢复正常。

比较奇怪的是,几种操作系统下还不一样,一台MAC OSX就要显式的禁用proxytunnel才可以,curl版本:

. 代码如下:

$ curl --version

curl 7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3

Protocols: tftp ftp telnet dict ldap http file https ftps 

Features: GSS-Negotiate IPv6 Largefile NTLM SSL libz

而另外一台ubuntu则完全不受影响,怎么都能用,curl版本:

. 代码如下:

$ curl --version

curl 7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10

Protocols: tftp ftp telnet dict ldap ldaps http file https ftps 

Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

MT主机上的centos也没事,curl版本:

. 代码如下:

$ curl --version

curl 7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5

Protocols: tftp ftp telnet dict ldap http file https ftps 

Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

看来不完全是curl版本问题,MAC OSX的确与众不同啊。

还有一个原因也会导致curl返回403错误,如果设置了:

. 代码如下:

 curl_setopt($ch, CURLOPT_NOBODY, true);

则需要紧跟着设置:

. 代码如下:

 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

不然会因为http服务器不允许 HEAD 命令而返回403错误。参考:Trouble with a cURL request in PHP(forums.devshed.com/php-development-5/trouble-with-a-curl-request-in-php-445222.html)。MAC OSX上curl之所以特殊,也不排除是这种原因-php403跳转