JS ajax实现Basic Auth认证通过方法

Basic Auth简单点说明就是每次请求API时都提供用户的username和password。

。这种方式优点和缺点都很明显。

优点:

u 使用非常简单,
u 开发和调试工作简单,
u 没有复杂的页面跳转逻辑和交互过程;
u 更利于发起方控制;

缺点:

u 安全性低,每次都需要传递用户名和密码,用户名和密码很大程度上存在被监听盗取的可能;
u 同时应用本地还需要保存用户名和密码,在应用本身的安全性来说,也存在很大问题;
u 开放平台服务商出于自身安全性的考虑(第三方可以得到该服务商用户的账号密码,对于服务商来说是一种安全隐患),未来也会限制此认证方式(Twitter就计划在6月份停止Basic Auth的支持)
u 用户如果更改了用户名和密码,还需要重新进行密码校验的过程。

就是每次请求的时候望header头添加一个经过base64加密过后的用户名和密码信息。

jq为我们提供了很简单的方式:

$.ajax({
    url: '1.php',
    contentType: "application/json",
    dataType: "json",
    username:'admin',
    password:'123456',
    type: "GET",
    success:function (data) {}
})

很简单吧,jq已经给我们封装好了,我们只需要传入参数username和password即可。

下面这种方式也行,更直接的体现出BASIC是怎么组合的,其中btoa是转换base64的方法,具体的各位可以百度一下。

$.ajax({
  type: "GET",
  url: "index1.php",
  dataType: 'json',
  async: false,
  headers: {
    "Authorization": "Basic " + btoa(USERNAME + ":" + PASSWORD)
  },
  data: '{ "comment" }',
  success: function (){
    alert('Thanks for your comment!');
  }
});

时间: 2024-09-30 10:31:45

JS ajax实现Basic Auth认证通过方法的相关文章

java 发送带Basic Auth认证的http post请求实例代码_java

构造http header private static final String URL = "url"; private static final String APP_KEY = "key"; private static final String SECRET_KEY = "secret"; /** * 构造Basic Auth认证头信息 * * @return */ private String getHeader() { String

Vue.js Ajax动态参数与列表显示实现方法_javascript技巧

Vue.js简介 vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API. 一.动态参数显示 ajax异步请求后,接收到返回的data参数并显示在前端 1.1 引入js,也加入了jQuery <script type="text/javascript" src="/js/vue.min.js"></script> <script type="text/javascript&

浏览器Basic Auth方式认证的phpMyAdmin自动登录

一.需求 自动登录 phpMyAdmin.最终能够解决自动登录所有使用 Basic Auth 方式认证的网页. . 二.phpMyAdmin 的四种认证登陆方式 1.config 配置文件.直接将允许登录的用户名和密码写在 config.inc.php 配置文件中. 2.cookie.最常用的方式,通过填写首页表单进行登录. 3.http.HTTP Basic Authentication 方式,使用浏览器的弹出式对话框进行登录.与 cookie 方式的区别主要在于用户体验. 4.signon.

js+ajax实现获取文件大小的方法_javascript技巧

本文实例讲述了js+ajax实现获取文件大小的方法.分享给大家供大家参考,具体如下: 顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/ 的错误,也将解决方案罗列在下面,以供大家参考 废话少说,代码如下 JS如下: <script language="Jscript"

Ajax清除浏览器js、css、图片缓存的方法_javascript技巧

做东东时都是把图片在服务器的地址存放在数据库里面,然后到浏览器中显示,但是后来发现了两个问题. 第一:为了安全起见,js是无法读取本地的图片的,不然你写一个js,岂不是可以获取任何人电脑里面的文件了. 第二:图片存在的是在服务器的硬盘上面,而不是在客户的硬盘里面,所以也是取不到的 后来在网上找方法,找的方法,都是各种转换二进制到xml中,的各种高大上的答案,然后本人又实在太懒了,就自己想了一个 方法,就是利用BufferedImage这个类. 开始 首先说说我的思路,就是把本地的图片,加载到内存

Twitter终止Basic Auth验证方法支持

http://www.aliyun.com/zixun/aggregation/17197.html">北京时间8月31日凌晨消息,据国外媒体报道,Twitter员工道格拉斯·鲍曼(Douglas Bowman)近日在其Twitter中表示,Twitter将在8月31日终止对Basic Auth验证方法的支持,建议开发者使用OAuth. OAuth相比Basic Auth有几点好处:第一,开发者不必担心由于程序漏洞泄露用户信息. 第二,开发者不必担心用户更改密码.即使用户更改密码,通过OA

js+ajax处理java后台返回的json对象循环创建到表格的方法_AJAX相关

本文实例讲述了js+ajax处理java后台返回的json对象循环创建到表格的方法.分享给大家供大家参考,具体如下: //注:LO是表格的id: 需要自己创建表头, n行,9列的表格: var tab_id; function varify(cardinno) { tab_id=document.getElementById("Layer1"); displayDiv(); tab_id.style.display="none"; var url="get

js+ajax处理java后台返回的json对象循环创建到表格的方法

本文实例讲述了js+ajax处理java后台返回的json对象循环创建到表格的方法.分享给大家供大家参考,具体如下: //注:LO是表格的id: 需要自己创建表头, n行,9列的表格: var tab_id; function varify(cardinno) { tab_id=document.getElementById("Layer1"); displayDiv(); tab_id.style.display="none"; var url="get

Nginx用户认证配置方法详解(域名/目录)_nginx

Nginx可以为某一个域名单独加用户认证,具体做法如下: 1. 生成用户认证的用户名和密码: 复制代码 代码如下: #wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh 根据提示输入: 用户名:密码:文件名: 脚本会自动生成认证文件,auth.conf内容如下: 复制代码 代码如下: /usr/local/nginx/conf/auth.conf 2. 为Nginx添加auth认证配置 下面以某域名下面的auth目录为例,在域