如何确保我的ajax调用提取经过身份验证的内容

时间:2010-02-22 14:32:08

标签: php authentication jquery security

我正在我的页面中向数据库进行Ajax调用,并提取包含图像的产品。

这是我正在制作的ajax电话:

    $.ajax({
    type : "GET",
    url : "**https**://www.mydomain.org/getRow.php",
    dataType: 'html',
    success: function (msg) {
        $(".drag-desired").html(msg);
        $.event.trigger('init-draggable-products');
    },
    error: function (xhr) {
        $('#errorDisplay').html('Error: '+ xhr.status + '' + xhr.statusText);
    }
});

我遇到的问题是IE,它会提示询问访问者是否要查看未经身份验证的内容。如果该人要点击否或是,他们希望浏览器阻止该内容我没有让产品显示。

这是我的php文件抓取产品:

<?php

define('INCLUDE_CHECK',1);
require "connect.php";

?>

<?php

$result = mysql_query("SELECT * FROM internet_shop WHERE price = 5");
while($row=mysql_fetch_assoc($result))
{
  echo '<div class="product"><img src="https://www.mydomain.org/img/products/'.$row['img'].'" alt="'.htmlspecialchars($row['name']).'" width="128" height="128" class="pngfix" /></div>';
 }

?>

2 个答案:

答案 0 :(得分:0)

如果php脚本与当前网站位于同一个域中,请为网址尝试“/getRow.php”而不是“https://www.mydomain.org/getRow.php”,这可能会解决此问题。

答案 1 :(得分:0)

您看到此错误,因为如果通过HTTP加载(不使用SSL),您只通过HTTPS加载其余部分内容。有些浏览器不喜欢它。

在链接上使用Live HTTP标头。我可以看到你正在通过HTTP加载Jquery和Jquery UI。 (例如http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js  )

将这些链接更改为HTTPS,您就可以了。