图像停止工作的跨域身份验证

时间:2015-12-28 20:30:21

标签: javascript php jquery authentication

我一直在使用1x1图片来验证域名用户。最近,它刚刚停止工作。

从远程服务器调用输出图像。

header("Content-type: image/png");
$im = imagecreatefrompng("img.png");
imagecolortransparent ( $im,imagecolorallocate($im, 255, 255, 255));
imagepng($im);
imagedestroy($im);

在调用映像时,PHP代码会验证会话是否存在以及用户是否已登录。如果是,则在服务器和用户中验证的请求令牌将在远程站点上登录而不需要让用户重新登录姐妹域名。

所有域共享同一台服务器。

这已经工作了几年,但最近几个月已经停止工作了。我不知道在哪里寻找这个问题。当我检查会话在主域上是否有效时,它显示为有效,但是当我远程发出相同的请求时,它无效。然而,这确实在过去有效。

PHP标准有变化吗?或者我做错了什么?

更新: 用于请求图像的JS代码:

function statCheck() {
    var loopSafety  = $("body").data("loopSafety");     
    if (loopSafety == 0) {
        $("body").data("loopSafety", 1);
        $.ajax({
            type: "POST",
            url: "/check/",
            data: { tmpToken: tempToken, authType: 'auth'},
            success: function(html){
                var result = html.split("<|>");                                                                                                             
                $("#statImg").html(''); 
                $("#stat").html('');
                $('#stat').append(result[1]);
                $("body").data("loopSafety", 1);            
                onSuccess(result[2]);                       
            }
        });    
        return false;               
    }           
}

function onSuccess(redir) {
    setTimeout(function(){window.location.replace(redir)},3000);
}

0 个答案:

没有答案