Javascript 要使对HTTP基本身份验证的API调用更安全,是否仍要这样做?

Javascript 要使对HTTP基本身份验证的API调用更安全,是否仍要这样做?,javascript,security,api,jsonp,basic-authentication,Javascript,Security,Api,Jsonp,Basic Authentication,我正在从事一些较小的项目,以后可能会有更多的项目,将使用HTTP basic auth获取和发布数据。一些示例API是和 这些项目都是基于AJAX的,面向不同的人。出于原型的目的,我的服务器上有一个PHP脚本,上面只说了以下内容,将JSON响应转换为JSONP: <?php echo $_GET['callback'].'('+file_get_contents($_GET['url'])+')'; ?> 问题是我的JSONP调用包含user:pass意思是,任何人都可以查

我正在从事一些较小的项目,以后可能会有更多的项目,将使用HTTP basic auth获取和发布数据。一些示例API是和

这些项目都是基于AJAX的,面向不同的人。出于原型的目的,我的服务器上有一个PHP脚本,上面只说了以下内容,将JSON响应转换为JSONP:

<?php
  echo $_GET['callback'].'('+file_get_contents($_GET['url'])+')';
?>

问题是我的JSONP调用包含
user:pass
意思是,任何人都可以查看源代码,复制用户并通过,然后发出POST请求


有没有办法使这个安全,而不必直接通过PHP进行所有API调用,并允许我使用来自多个项目的相同脚本?在一个完美的世界里,我可以编写一个脚本,让我完成HTTP基本身份验证的工作,并且无论什么API,用户和密码以某种方式隐藏(如上面的示例)。

您可以使用SSL(https)连接。

但即使使用SSL,您也可以查看源代码?抱歉,我可能不理解您的意思。但是,如果您想向浏览器发送用户和密码,则不可能确保这一点。另一方面,您可以从get获取所有数据,所以如果用户提供了这些数据,为什么不将这些数据发送给他呢?我在这些$u get中提供数据。我想确保基本auth的user:pass不在
$.getJSON('http://user:pass@somesite.com')
。我能想到的唯一方法是有一个“cred.php”文件,其中包含用户和密码,然后我上面的php脚本会在幕后请求用户和密码,这样人们就不会有用户和密码了。