2009-07-07 64 views
7

我们网站的一部分受到.htaccess样式密码保护。当您尝试访问网站的这个区域时,Web浏览器会弹出一个对话框,询问您的用户名和密码。如何以编程方式访问受密码保护的网站?

我需要以编程方式访问(例如使用ajax调用)。服务器如何告诉我它需要密码,我该如何提供密码?

回答

3

一般来说,http://user:[email protected]

但也有一些明显的安全缺陷。

更完整的解决方案可能是在用户通过身份验证后设置Session变量。

将AJAX帖子创建为检查验证的脚本。如果通过身份验证,请使用CURL使用预定义的授权帐户获取结果。

这允许您重新使用基本的apache auth,但是防止任何密码被写入DOM。

+0

有问题的网站是https,我认为它会减少安全问题。传递给服务器的URL是否在https会话中加密 - 我认为它是...? – 2009-07-07 17:08:36

2

这当然不是阿贾克斯,但wget的客户端,您可以使用--http用户和--http密码标志

4

jQuery的支持与他们的阿贾克斯()方法HTTP认证。像这样的东西应该工作:对所有jQuery.ajax()选项

jQuery.ajax({ 
    type: "GET", 
    url: "foo.php", 
    username: "foo", 
    password: "bar" 
}); 

文档可以在这里找到:http://docs.jquery.com/Ajax/jQuery.ajax#options