2017-05-24 9 views
0

私はphonegap、Appでアプリケーションをビルドしています。サーバー(Webサイト)にあるMySQLデータベースからデータを取得し、取得します。 IMがデータの送信とアプリでのデータの取得に成功しました。Webサーバー上のPHP JSON出力結果を保護

Webサーバー上の場所からajaxでデータを取得する方法は、phpファイル(www.example.com/fetch.php)を参照してください。しかし、私はブラウザから同じファイルを訪問すると、完全なデータベースがjson形式で公開されていることを示しています。

データを保護する方法はありますか?私のアプリや閲覧できないブラウザにアクセスするためにのみ、トークンや認証を使用しますか?

アドバイスをいただければ幸いです。

+0

手のファイルをサーバー側にこれを試してみて、サーバによってアクセスされてから、ファイルの種類をブロックします。この方法では、ファイルを手渡すあなたのPHPスクリプトは、それを見ることができるはずである人々によってアクセスされるように設定することができます – krisph

答えて

1

追加のデータをサーバーに追加できます。トークンまたは検証が行います。

次に、jsonデータをエコーする前に条件を追加します。

例: あなたのサーバーにトークン(例えば、トークンは '12345')が送信されるように設定して、サーバーからのリクエストがアプリからのものであることを確認します。次に、このコードをサーバーに追加します。

$token = intval($_POST['token']); // if you are using POST Method, but you can change it to $_GET if you are using GET method. 

if($token == '12345'){ 
    echo json_encode($your_json_data); 
}else{ 
    //display something 
} 

やバックPHP経由

if(isset($_GET['hash'])){ 
     echo json_encode($your_json_data); 
    }else{ 
     //display something 
    } 
+0

OKこのトークンを私のAjaxで追加するには? 現在、私は形式以下でAJAXを持っている: $アヤックス({ タイプ: "GET"、 データ:{のgetContent:真、ハッシュ: '0800fc577294c34e0b28ad2839435945'}、 URL:「http://example.com/真、 成功: クロスドメインのギャップ/ json.php」、機能(結果は){ のように...アヤックスの –

+0

はそれを呼び出すには示しています。問題になる可能性がどのような位置0 でJSONで予期しないトークンEは? –

+0

私はここに入力ミスがあると思います。@VickyParabこの 'data:{getContent:true、hash: '0800fc577294c34e0b28ad2839435945'} 'を' data:{getContent:true、hash:' 0800fc577294c34e0b28ad2839435945 ' 12345 '} ' –

関連する問題