标签: http-status-code-403

git instaweb给403 Forbidden - 找不到任何项目

git instaweb在我的存储库中运行会打开一个页面,上面写着"403 Forbidden - 找不到任何项目".我错过了什么?

git instaweb http-status-code-403

7
推荐指数
1
解决办法
5895
查看次数

.htaccess RewriteRule导致403 Forbidden

我正在尝试在我的Web主机(Dreamhost)上安装Recess PHP框架.它包括以下.htaccess:

Options FollowSymLinks
RewriteEngine On
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ bootstrap.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)

这在我的机器上工作正常(Windows 7上的XAMPP 1.7.7),但在我的网络主机上的某些文件上导致403 Forbidden错误.所有目录权限都设置为755,所有文件权限都设置为644.PHP在拥有文件的同一用户下运行.

以下URL导致403s:

  • http://test.dd.moofz.com/
  • http://test.dd.moofz.com/recess-conf.php
  • http://test.dd.moofz.com/index.php
  • http://test.dd.moofz.com/bootstrap.php
  • http://test.dd.moofz.com/MIT-LICENSE

以下网址不是:

  • http://test.dd.moofz.com/.gitignore
  • http://test.dd.moofz.com/httpd_logo_wide.gif
  • http://test.dd.moofz.com/README.textile
  • http://test.dd.moofz.com/the-book-of-recess.pdf

什么会导致这种情况发生?

php apache .htaccess recess http-status-code-403

7
推荐指数
1
解决办法
9225
查看次数

Chrome和Firefox缓存403

我有一个奇怪的错误,并想知道是否有其他人可以想到一个原因.

情景: -

  • 用户尝试访问受限制的内容,获取具有403状态代码的转向页面
  • 用户登录
  • 用户尝试再次访问内容但应该被允许,浏览器返回缓存转向页面和403响应(没有在服务器上注册的命中).
  • CTRL + F5或等待一段时间,浏览器返回正确的内容.

这种情况发生在Firefox和Chrome中,我还没有尝试过Internet Exploder.

我只在我的机器上再次发布了这个问题,而在与测试人员的Skype通话中,他们每次都可以重现它.它们基于印度,并且与我们的测试站点的连接速度要慢得多.这可能是一个原因吗?

我看到了一个相关的问题,但这是由Squid代理引起的,我不是代理的背后(虽然测试人员可能是).

我不喜欢添加缓存控制头,因为浏览器不应该根据HTTP规范缓存403,但我需要保证,当用户登录时,他们会获得正确的内容.

任何关于可能是什么原因的想法将不胜感激.在此期间,我将向转向页面添加一些缓存控制标头,以查看是否有帮助.

firefox google-chrome http browser-cache http-status-code-403

7
推荐指数
0
解决办法
2468
查看次数

403使用nginx禁止wordpress索引,其余页面工作正常

我正在一个新的EC2实例上设置我的博客,因为当前托管它的服务器上的一个站点是DDoSed.我在使用nginx时遇到了一些麻烦,因为我可以看到所有页面都很好但索引上有403,或者看到索引但页面上有404(取决于我使用的配置)

这是我的nginx配置:

server {
    listen       80;

    server_name  www.test.com;
    server_name  test.com;
    root /www/blog;

    include conf.d/wordpress/simple.conf;
}
Run Code Online (Sandbox Code Playgroud)

而simple.conf:

location = /favicon.ico {
            log_not_found off;
            access_log off;
    }

    location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
    }

    location / {
            # This is cool because no php is touched for static content. 
            # include the "?$args" part so non-default permalinks doesn't break when using query string
            try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
            #NOTE: You should have "cgi.fix_pathinfo = …
Run Code Online (Sandbox Code Playgroud)

wordpress nginx http-status-code-403

7
推荐指数
1
解决办法
2万
查看次数

403 S3 REST API HEAD请求上的禁止错误403

我正在尝试对S3 REST API执行HEAD对象请求但我仍然收到403 Forbidden错误,即使我在S3上具有必要权限的策略设置.响应主体是空的,所以我不认为它是一个签名问题.我已经尝试了几项政策变更,似乎没有任何改变.我能够正常PUT对象和DELETE对象,只是HEAD不起作用.

这是我的存储桶政策:

{
"Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam:: 999999999999:user/User"
        },
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::my-bucket"
    },
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::my-bucket/*"
    },
    {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::999999999999:user/User"
        },
        "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:PutObject"
        ],
        "Resource": "arn:aws:s3:::my-bucket/*"
    }
]
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

更新:

正如迈克尔指出的那样,我的签名似乎是一个问题,尽管我没有看到什么.

def generate_url options={}
options[:action] = options[:action].to_s.upcase
options[:expires] ||= Time.now.to_i + 100
file_path = "/" + @bucket_name + "/" + options[:file_name] …
Run Code Online (Sandbox Code Playgroud)

rest amazon-s3 http-status-code-403

7
推荐指数
3
解决办法
8403
查看次数

Google Translate API文字转语音:http请求被禁止

我正在制作一个语言学习网络应用程序,当你将鼠标悬停在单词上时,它会为你发音.我想访问Google Translate API的母语翻译.

我找到了这个资源,它提供http://translate.google.com/translate_tts了基本URL,tl目标语言和q查询字符串.

当我在浏览器中访问它时,这非常有用, http://translate.google.com/translate_tts?tl = zh-CN&q =你好,但我的应用的任何httprequests都会返回403 Forbidden错误.

localhost:~me $ wget" http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=hello+world "--2015-06-02 11:02:06-- http://翻译.google.com/translate_tts?ie = UTF-8&tl = en&q = hello + world 解析translate.google.com ... 173.194.123.38,173.194.123.36,173.194.123.32,...连接到translate.google.com | 173.194.123.38 |:80 ...连接.发送HTTP请求,等待响应... 403 Forbidden 2015-06-02 11:02:07错误403:禁止.

是否有一个正式的Google API,用于与传统Google Translate API的付款计划相关联的文字转语音,我还没有找到?或者是否有办法以get某种方式播放此音频?

javascript google-api text-to-speech google-translate http-status-code-403

7
推荐指数
2
解决办法
2万
查看次数

当会话在Spring安全性中超时时,处理请求中找到的无效CSRF令牌的最佳方法是什么?

我正在使用Spring MVC/Security 3.X.问题是,每当会话超时时,我在登录页面上获得403 ,其中Spring框架正在抛出"InvalidCsrfTokenException":

    threw exception [org.springframework.security.web.csrf.InvalidCsrfTokenException: Invalid CSRF Token '7b4aefe9-6685-4c70-adf1-0d633680523a' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.] with root cause
org.springframework.security.web.csrf.InvalidCsrfTokenException: Invalid CSRF Token '7b4aefe9-6685-4c70-adf1-0d633680523a' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.
    at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:119)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at …
Run Code Online (Sandbox Code Playgroud)

java csrf spring-security session-timeout http-status-code-403

7
推荐指数
1
解决办法
9525
查看次数

将Azure网站连接到Xero合作伙伴应用程序

我正在将我的应用程序与Xero集成,后者需要两个证书.我上传他们从帮助到Azure 文章,但我仍然无法连接到Xero的API.我希望有人有将Xero合作伙伴应用程序与Azure Web App集成的经验.

我上传了两个pfx文件; 一个是自签名证书,另一个是Xero颁发的合作伙伴证书.后一个pfx文件包含两个证书; 一个Entrust商业私人子CA1(无论手段)和我的应用程序的唯一Entrust Id证书.

我使用以下代码通过其独特的指纹加载证书:

    static X509Certificate2 GetCertificateFromStore(string thumbprint)
    {
        var store = new X509Store(StoreLocation.CurrentUser);

        try
        {
            thumbprint = Regex.Replace(thumbprint, @"[^\da-zA-z]", string.Empty).ToUpper();
            store.Open(OpenFlags.ReadOnly);

            var certCollection = store.Certificates;
            var currentCerts = certCollection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
            var signingCert = currentCerts.Find(X509FindType.FindByThumbprint, thumbprint, false);

            if (signingCert.Count == 0)
            {
                throw new Exception($"Could not find Xero SSL certificate. cert_name={thumbprint}");
            }

            return signingCert[0];
        }
        finally
        {
            store.Close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这在本地工作正常,但在我的天蓝色网站上我收到403.7错误:

The page you are attempting to access requires your browser …
Run Code Online (Sandbox Code Playgroud)

c# azure x509 http-status-code-403 xero-api

7
推荐指数
1
解决办法
805
查看次数

使用HTTP状态代码403在tomcat 8中阻止交叉原始请求

它似乎是一个已知的问题,关于这个主题存在很多问题,但是,我的情况非常奇怪.我有一个部署在tomcat 8.0.36上的简单Web应用程序.我已正确配置CORS:

<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

浏览器阻止了跨源请求:

请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" https://www.mytestpage.com "访问.响应具有HTTP状态代码403.

在tomcat日志文件中,我也看到403的响应代码.有趣的是,在跨源请求的情况下,我的应用程序的代码永远不会被执行.在到达我的申请之前,请求被阻止,并且立即发送403.我在tomcat面前没有apache,它是简单的tomcat.我尝试了很多东西,包括将原点列入白名单并指定允许的标题 - 没有任何帮助.我还尝试以编程方式设置标头,直到我发现从不执行跨源请求的代码.

UPD:结束点接受POST请求.这些POST请求作为XmlHttpRequests从JS片段发送.

有什么想法可以吗?

ps我可以成功获得相同的原始请求.

post cors http-status-code-403 tomcat8

7
推荐指数
1
解决办法
1万
查看次数

如何使Apache仅在文件存在的情况下禁止该文件?

我一直在研究这个问题几个小时没有,仍然没有解决方案.如果你不明白我在标题中提出的问题,我会详细说明.我试图禁止从Apache访问某些样式表和脚本,但我只希望它在文件不存在时抛出403错误.

以下是我尝试过的一些例子:

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$ - [F,L,NC]
Run Code Online (Sandbox Code Playgroud)

这不是出于某些奇怪的原因,不知道为什么.

此外,在我继续更多示例之前,我将解释我正在尝试使用正则表达式实现的目标:我正在使用版本控制,因此我无法确定管理员和员工之后会发生什么,所以我正在使用一个可选的字符类.它只影响css,js以及php扩展,以及css.map扩展.顺便说一句,如果你想知道为什么在正则表达式的字符类和admin | staff部分之间有一个短划线,那是因为我的版本控制工具用破折号分隔日期和文件名.万一这个信息将帮助你我使用的版本控制工具是Laravel Elixir.

更多例子:

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRedirect 403 (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRedirect 404 (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$
Run Code Online (Sandbox Code Playgroud)

在这个示例中,无论您放置哪个,它都会调用该错误代码.

我甚至尝试过使用该指令,但即使该文件不存在,它似乎也会被调用.

<FilesMatch "(admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$">
    deny from all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

感谢您提供的任何帮助,出于某种原因,我似乎无法在网上找到任何关于此类事情的内容!

编辑:

Covenor想要一些例子,所以他们在这里:

  • /anydirectory/admin-12d16m4.css

  • /anydirectory/staff.js

  • anydirectory/admin.php的

编辑2:

感谢Covenor,我已经部分解决了我的问题.这是我现在的代码:

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (admin|staff)-?[a-zA-Z1-9]*\.(css|js|php)(.map)?$ - [F,L,NC]
Run Code Online (Sandbox Code Playgroud)

这适用于admin.css,admin.js,admin.css.map等文件,但是一旦我实现版本化文件,它就不会隐藏它们.以下是版本化文件名的示例:app-968b520079.css.即使我在我的正则表达式中找不到问题,它也没有隐藏它.

感谢您提供更多帮助.

最后:

感谢所有帮助过的人,问题已得到彻底解决.对于想要了解我使用的确切代码的人来说,这里是:

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (admin|staff)-?[A-Za-z0-9]*(.min)?(?(-1)(css|js)|(css.map|css|js|php))$ - [F,L,NC]
Run Code Online (Sandbox Code Playgroud)

PS,我不确定是谁给予赏金,所以获得最多选票的人将得到赏金.

regex apache mod-rewrite http-status-code-403

7
推荐指数
1
解决办法
205
查看次数