我目前有一个cross-origin
ajax
应用程序,它使用我自己制作的一些个人API's
。如何保护我通过Ajax使用OAuth2访问的PHP API的安全性
我想保护它,所以只有我的应用程序可以使用api
。
我做了一些搜索,发现OAuth2。我跟着this step-by-step使用php
,但我的应用程序是使用ajax
请求构建的,所以我发现这个OAuth JS Library使用ajax
进行身份验证,但我不明白如何使用它,有人可以举一些简单的例子吗?我真的是使用OAuth的初学者。
我的代码是或多或少是这样的: myrequests.js
function someRequest(parameter1){
return $.ajax({
url:'http:/www.mysite.com/myapis/customapi.php?callback=?',
dataType:'jsonp',
data:{p1:parameter1}
})
.done(function(data){
console.log("Done!");
})
.fail(function(data,textStatus,errorThrown){
console.error(data,textStatus,errorThrown);
})
}
在服务器我的API文件:customapi.php
我的请求.js文件
<?php
include "dbConnect.php";
header('Content-Type:application/json;charset=UTF-8');
$p = $_GET['p1']; er
$myquery = "SELECT name, adress from table1 WHERE name = :p";
$sql = $pdo->prepare($myquery);
$sql->bindValue(":p",$p,PDO::PARAM_STR);
$sql->execute();
$result = $sql->fetchAll();
$data['d'] = $result;
echo $_GET['callback'] . '('.json_encode($data).')';
我的应用程序是'跨源',后端和前端处于不同的域。 'js'文件已经存在,'php'' api'在不同的域中。我不能使用cookies;另外,我想要一个更安全的方法,如OAuth。 – Lioo