2016-12-01 30 views
0

json応答をユーザーに表示しないようにするにはどうすればよいですか?

$.ajax({ 
 
    type: "GET", 
 
    contentType:"application/json;charset=UTF-8",     
 
    url:"/api/links/", 
 
    data: JSON.stringify(data), 
 
    dataType: "json", 
 
    success: function (response) { 
 
     //some code 
 
    } 
 
)}

ユーザーがブラウザで以下のURLを入力します。

[ 
    { 
    "$id": "1", 
    "LinkId": 1, 
    "Title": "example.com", 
    "Url": " www.test.com", 
    "IsShow": true, 
    "UserId": 1 
    }, 
    { 
    "$id": "2", 
    "LinkId": 2, 
    "Title": "fars.com", 
    "Url": "fars.com", 
    "IsShow": true, 
    "UserId": 1 
    } 
] 

はmydomain/API/

とプレスのように、それは私のJSONデータを示しキーを入力リンク

今私の質問は、このデータをユーザーに表示させないようにすることです。

+0

あなたのコードが読むことができるのはあなたのユーザーが読むことができるので不可能です。しかし、コードを難読化し、データを暗号化して読みにくくすることができます。 – ymonad

+0

することはできませんが、Refererを使用して、要求の到着場所を特定します。 –

+0

yes.using Refererが最適です。ありがとうございました – Mohsen

答えて

0

防弾方法はありません。

ほとんどの場合、AJAX要求がサーバーに送信されるたびに、XMLHttpRequestの値を持つX-Requested-Withという名前の特別なヘッダーが要求に添付されます。

したがって、AJAXリクエストを介してのみデータにアクセスできるようにするには、X-Requested-Withヘッダーの値がXMLHttpRequestであるかどうかを確認するだけで、データまたはJSONを返すかどうかを決めることができます

あなたはデータを暗号化することもできます。これは、@ymonadが安全性を高めることを示唆していますが、ユーザーにとって見た目は難しくなりますが、不可能に近づくことはありません。

+1

SSLとAPIキーはかなり防弾方法ではありませんか? – Crowes

+0

私は質問が彼のウェブページの文脈で頼まれたと仮定しました、REST APIによるサーバー間の通信ではありません。しかし、おそらくあなたは正しいでしょう。 –

関連する問題