2017-04-19 7 views
0

私は自分のphp関数用のAPIを作成しているので、モバイルアプリケーションからアクセスできます。各関数は、パラメータがこのURLに与える特定のURLによって起動できます。私のAPI関数のphp関数のための安全なAPI

例:

<?php 
    $function = $_GET['function']; 

    if($function == "login"){ 
     $userName = $_GET['username']; 
     $saltedPass = $_GET['pass']; 
     //login query 
     //return true or false 
    } 
?> 

アイデアは、HttpRequestのモバイルアプリでこの機能を起動することです:

$check = HTTPrequest('www.domain.com/functions.php?function=login&username=mike&pass=343iubgfdg34tJHVvr23').read(); 
if($check == true){ 
    //login 
} 
else{ 
    //wrong username or pass 
} 

しかし、これはまた、誰もが誰もが知っていることを意味しこれらの特定のURLは私の機能を呼び起こす可能性があります。これを正しい方法で保護するにはどうすればよいですか?

はここ

+0

モバイルアプリから静的な一意のトークンを渡して、モバイルを使用してPHPにアクセスするかどうかを確認する必要があります –

+0

URLにアクセスするための何らかの形式の認証と認証が必要です。 – Chris

+0

トークンについて学んでください。また、私はこの方法でログインを構築することは本当に良い考えではないと思っています...あなたはSQLインジェクションと準備されたステートメントについて多くのことを知りたいと思っています。また、URLでパスワードを渡すことは決して良い考えではありません。 – Twinfriends

答えて

0

あなたは(少なくとも)ログインするユーザーが必要になります 私の経験ですありがとう

あなたは、携帯電話(ブラウザ)やログイン時にローカルストレージ 上のユーザーID /ユーザーの電子メールを保存このユーザの対応パスワードが計算され、例えば、ログインユーザ

から返送されます。ユーザーIDを使用すると、ADEXCEFEF0843495340

のような長い文字列を取得しますSSL AES128 Encryptheを使用して、ABCであります

ユーザーIDとパスワードの両方を配列に入れて、URLに送信するときは 、base64トークンのみが送信されます。初心者のために十分に混乱していると思います終わらせる。

0

APIを保護する最も良い方法はOAuth2です。これは、Webサイトやモバイルアプリなどの第三者のクライアントを認証するために使用するGoogle、Facebook、Twitterです。少し複雑ですが、OAuth2 Serverのチュートリアルに進む時間があれば、後で自分自身に感謝します!ここをクリックしてくださいhttp://bshaffer.github.io/oauth2-server-php-docs/

関連する問題