jhd*_*hdj 5 php cross-domain cordova
只是好奇地尝试过使用带ajax的phonegap从服务器查询,注意到由于不允许访问-控制-允许-起源,一段时间后我的ip被阻塞了。该应用程序仍然可以运行,直到您被阻止为止。
找到解决此问题的方法是jsonp或允许服务器上的访问控制。但是jsonp无法传输文件,因此第二个选项用于文件上传。
允许在服务器上进行访问控制的代码:
<?php header('Access-Control-Allow-Origin: *'); ?>
Run Code Online (Sandbox Code Playgroud)
ft.up的phonegap是否也需要这个?
另一个问题是有办法只允许特定的phonegap应用程序吗?
由于您可以将*更改为特定的URL,但不确定如何对phonegap执行此操作。
谢谢
小智 1
要仅允许特定应用程序与您的服务器一起使用,您可以做的是通过 AJAX 请求的标头发送私钥,例如“X-ACCESS-TOKEN”。
$.ajax({
type: 'POST',
url: url,
headers: {
"X-ACCESS-TOKEN":"CLIENT_SECRET_KEY",
}
Run Code Online (Sandbox Code Playgroud)
然后在您的服务器上,您可以检查标头是否已发送以及是否等于预期值。
另外,我建议使用 .htaccess 处理标头,而不是直接在后端代码中进行处理。
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type, accept, X-ACCESS-TOKEN"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Run Code Online (Sandbox Code Playgroud)
请注意,如果您遵循我的建议,则必须将 X-ACCESS-TOKEN 添加到允许的标头列表中。