Web サイト用の API を構築していますが、自分の Web サイトからのみ API にアクセスできるようにしたいと考えています。私が構築した方法は、ajax を使用して PHP ファイルを呼び出すことです。
<?php session_start(); ?>
<script>
$.ajax({
type: "GET",
dataType: "json",
url: "secureapi.php",
data: "test="+document.cookie.substring(document.cookie.lastIndexOf('PHPSESSID')).replace(/phpsessid=/gi, '') + "userid=123",
success: function(response){
console.log(response);
}
});
</script>
次に、PHP ファイルで、それが xmlhttprequest から呼び出されているかどうか、およびsession_id
が正しいかどうかを確認します。
<?php
session_start();
if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' AND $_POST['test'] == session_id()){
//QUERY DATABASE AND RETURN JSON
}
?>
session_id
これは十分に安全ですか、それとも誰かが CURL などで簡単に入手できますか?