得到 403 禁止只发生在 url1 而不是 url2

Posted

技术标签:

【中文标题】得到 403 禁止只发生在 url1 而不是 url2【英文标题】:get 403 forbidden only happens with url1 not url2 【发布时间】:2012-03-12 12:00:53 【问题描述】:

我做一个'get'(javascript

$.get("ME.php?uid="+uid+"&screen="+screen+"&icon="+icot+"&jhtml="+temp+"&F=seticon",function(data)/*doStuff*/);

这个网址可以正常工作,零错误:

http://mysite.com/ME.php?uid=1&screen=custom&icon=hubpages&jhtml=<div id='hubpages' style='position: absolute; left: 818px; top: 31px; z-index: -9; ' class='icon ui-draggable' ><img src='M/hubpages.png'><div class='box'><a href='http://hubpages.com' target='_blank'>hubpages.com</a></div></div>&F=seticon

但是这个请求我得到了 403 禁止:

http://mysite.com/ME.php?uid=1&screen=custom&icon=squidoo&jhtml=<div id='squidoo' style='position: absolute; left: 307px; top: -35px; z-index: -9; ' class='icon ui-draggable' ><img src='M/squidoo.png'><div class='box'><a href='http://squidoo.com' target='_blank'>squidoo.com</a></div></div>&F=seticon

我只是看不出区别,我只有这么多小时才能看到这个而不会发疯!他们是一样的!?早上 6 点 30 分,也许我已经失去理智了……

如果有帮助的话;我在同一个函数中执行这两个函数,在同一行/同一行,该函数对每个 url 执行相同的操作。

【问题讨论】:

【参考方案1】:

如果您收到 403 错误,则很可能您的问题出在服务器端。我想这个问题可能与很长的 jhtml 参数有关,您似乎在没有任何编码的情况下传递了该参数。理想情况下,您不会像这样传递 HTML 字符串,但如果它绝对必要,您可以在发出请求之前尝试在 HTML 字符串上使用 encodeURI(),然后使用服务器端技术的补充方法对其进行解码。

【讨论】:

我会试试你的 encodeURI() 建议。我认为你有点错过了这一点,因为长度与它无关,因为第一个工作 url 比第二个 403 url 长。谢谢 GET 403(禁止)jquery.js:4

以上是关于得到 403 禁止只发生在 url1 而不是 url2的主要内容,如果未能解决你的问题,请参考以下文章

配置 LAMP - 出现 403 禁止错误

HTTP 错误 403.14 - 禁止 - 带有 IIS Express 的 MVC 4

间歇性 HTTP 403 禁止错误调用相同的 Ajax 代码

禁止 403:Firefox 中的 CSRF 验证失败错误,而不是 chrome

post方法渲染403禁止页面而不是执行post方法代码

得到403禁止错误[重复]