将标头设置为GET / POST请求

时间:2014-06-12 07:13:21

标签: php jquery ajax http-headers

我们希望在GET / POST请求期间发送身份验证令牌和签名。我们不喜欢通过body或参数发送安全信息。所以我们决定通过标题发送请求。

当我们用Google搜索时,我们知道我们可以使用ajax post请求来执行此操作。但我们希望使用标题移至下一页。

我们如何实现这个目标?

编辑:

我们计划将这些信息存储在Cookie中。但在iPhone中如果禁用cookie将改变我们网站的行为。所以要克服我们计划通过标题发送。

1 个答案:

答案 0 :(得分:0)

您可以在ajax请求中设置X-AUTHENTICATION-TOKEN,如下所示我通过ajax请求进行实时REST API调用。

$.ajax({
    type: "GET",
    beforeSend: function (xhr) {
        xhr.setRequestHeader('X-AUTHENTICATION-TOKEN', 'token string');
    },

服务器端必须将标题设置为

header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, X_AUTHENTICATION_TOKEN');

要检索服务器端的数据,您可能有

if (isset($_SERVER['HTTP_X_AUTHENTICATION_TOKEN'])) {
    $request_header = $_SERVER['HTTP_X_AUTHENTICATION_TOKEN'];
} else {
    if (function_exists('getallheaders')) {
        foreach (getallheaders() as $header_name => $header_value) {
            if ($header_name == 'X_AUTHENTICATION_TOKEN') {
                $request_header = $header_value;
            }
        }
    }
}

所以这里$request_header将成为令牌,你可以在服务器端脚本中使用它进行验证。