2012-05-03 11 views
0

プログラムに大きなセキュリティ上の問題があり、URLの一部を非表示にする必要があります。私はネット上で解決策を探しましたが、運がありません。私のプログラムでは、私は管理者とユーザーアカウントを持っています - プログラムは単に労働者のためのデータベースです。管理者はすべての投与量を見ることができますが、他のユーザーは自分の作業グループに含まれている投与量のみを見ることができます。だから私の問題は、ユーザーがdosieを見に来ると、情報にアクセスするURLは次のようになります: "viewdosje.php?album = 108。ユーザーは単にアルバムIDを変更でき、他のdosies 、これは良くありませんたとえば:。セキュリティ理由のURLパーツが隠れていますか?

"viewdosje.php?album=109" 

彼は他のdosiesを見ることができるURLに番号を変更することにより、URLのその部分を隠すために素晴らしいことだ、または私は間違っていると私を助けてください。?

+3

セキュリティはあたかもセキュリティのようなものではありません。 – peko

答えて

7

あなたはURLを隠すべきではなく、アプリケーションのリソースへのアクセスを検証する必要があります。IDを受け取ったら、コンテンツを表示する前に、DBを実行してください現在ログインしているユーザーがそのリソースかどうか。

+4

これまでの唯一の答えは –

+0

です.Darhazer yea私はそのこと、あなたが書いたデータを保護する簡単な方法はありません。ありがとう。 –

-3

私はので、私はそこに助けることができないPHPとは実際の経験をしたんが、私はJSPでこの問題に取り組む、またはレールた場合、私は次のことを行う可能性があります:

クッキーでおそらく、店舗利用者を識別できる情報一度認証されると、この情報をユーザデータベースと比較しますか?許可されていないユーザーがURLを手動で編集すると、そのページがサービスされないようにします。

3

「隠す」URLに頼ることはひどい解決策です.URLにアクセスできる人は誰でも自分のプライベートデータにアクセスできます。 URLは、ウェブトラフィック(例えば、安全でないWIFIポイント)を嗅ぐこと、JavaScriptを介して、推測すること、ブラウザの履歴にアクセスすること、トロイの木馬、キーボードロガーなどのあらゆる種類のさらに険しいルートを通じてアクセスすることができます。

これらの従業員レコードのデータが機密性が高い/個人的なデータである場合、ほとんどの国では適切な保護を法的に義務付けられています。法的要件がない場合でも、皆さんの給料をパブリックドメインに入れることは避けたいと考えています。

正しい解決策は、ログインメカニズムを設計し、ユーザー権利を割り当てることです。ユーザーがアクセス権のないページにアクセスしようとすると、適切なエラーメッセージが送信されます。 PHPにはこれには数多くの解決策があります - PEARは良い実装をしています。

関連する問題