2016-05-12 15 views
0

私は多くのバックエンドと、Javaと安らかなサービスを使用したフロントエンド開発を行ってきました。私の(会社の)アプリは、電子メールアプリに似ています。Https get vs post

私はAndroidクライアントを作成していますが、多くのリクエストにはいくつかのパラメータが添付されています。十分なセキュリティが確保されていますが、GETを使用する代わりにすべての要求をPOSTに移動するほうが賢明ではありませんか?すべてのパラメータが隠されるからです。 paramsには、私たちのデータベースから情報を要求するための個人情報、そのすべてのIDSと番号、その性質のものはありません。しかし、誰かがそれを保持して認証トークンや他のものを保持すると、データベースから個人情報が失われる可能性があります。

ここで専門家の助言を受けたいと思っていました。 get vs postで簡単なgoogle検索を行うことでこれまでに読んだことのほとんどは、POST要求がログインなどの機密情報に使用され、情報が要求されているときにGETが使用されることを示しています。しかし、GETリクエストの代わりにPOSTリクエストを使うだけで、自分自身でリクエストされた情報が個人的なものでなければならないので、

答えて

0

POSTのためにこれを読んで、GETはどのように知っている人にも同じように読み取り可能です。しかし、ブラウザでは、GETはアドレスバーに変数を表示するので、すぐに利用でき、人々はそれらを改ざんすることができます。たとえば、bookid = 34から.bookid = 35 ...のように変更することができます。適切な権限を常に再確認してください。したがって、このユーザーだけがこの本を見ることができる場合は、その書籍が(HTTP変数として渡されない)セッションのユーザーIDで識別されるユーザーに属していることを確認してください。

あなたの質問からは、ブラウザを使用しているようには見えないので、全体を通してPOSTを使用して得られる可能性はほとんどありません。

SSLを使用する必要があります。これは非常に重要で、トランジットとGETまたはPOST変数のデータを保護するための最高のセキュリティです。

+0

私たちはサーバ上でSSLを使用しています。私はHTTPS経由でリクエストを作成するためにアンドロイドでgoogle volleyを使用しています。また、認証にJWTを使用しています。 – chotu123

+0

さて、私はGET/POSTに心配しません。 GETはサーバログにはもう少し役に立つかもしれませんし、POSTは大規模なデータの方が良いでしょう。 –

+1

GETパラメータは、デフォルトではプロキシログとサーバログにも格納されます。そのため、機密データとしてPOSTを使用することをお勧めします。 – SilverlightFox

0

本当に重要ではありません。 少なくともデータの安全性のためではありません。 ポストはgetと同じくらい簡単に検査できます。 静止した投稿は、彼らがどのように設計されているか、ブラウザによってどのように処理されているかのために、セーバー(一種)です。

http://www.w3schools.com/tags/ref_httpmethods.aspいくつかの詳細情報

+0

POSTは安全ですが、https以上の場合のみです。 GETを保護することはできませんが、POSTを保護することができます – wingyip