JQuery的$ .post在同一个域上返回403 Forbidden

Tei*_*eis 2 php ajax jquery http

我遇到了jquery的$ .post函数和(我认为)跨域安全问题.

奇怪的是,我试图发布的页面与发送帖子的页面位于同一目录中.

这是发布帖子请求的'latest.php'的javascript代码:

$.post("upload.php", { base64: fCanvas, description: description }, function(data){
             // some things happen here
        });
Run Code Online (Sandbox Code Playgroud)

upload.php是一个php脚本,它将base64变量的内容上传到Tumblr.

javascript控制台显示403 Forbidden错误.我试过chmodding -777'upload.php',但这并没有改变任何东西.

使用$ .get而不是$ .post可以正常工作,但由于安全原因以及$ get数据的长度限制(我发送base64编码图像)而不受欢迎.


编辑:我将'latest.php'上的$ .get请求之一更改为$ .post,并且它正在工作......

$.post("base64.php", { url: t_url },
               function(data){
                 data = "data:image/gif;base64,"+data;
                 draw(data);
               });
Run Code Online (Sandbox Code Playgroud)

所以,我完全不知道出了什么问题.

jma*_*777 5

403 Forbidden是服务器生成的响应,与"同源策略"无关.实际上无法提供任何进一步的帮助,但它将与配置相关 - 而不是跨域问题.


编辑:我打算建议它缺乏执行权限,但是你已经完成了777 chmod,你可以用它来打它GET,这有点令人费解.为了不完全无用,这里有一个链接,建议你需要使用644而不是777.


另一个建议:mod_security在你的.htaccess(或其他配置)中启用?众所周知,它对包含标记/网址或其他潜在XSS尝试等内容的表单值不友好.