2017-11-18 17 views
0

私はそれに関するWebプロジェクトに関する質問があります。phpとURLソリューションで正しく写真を共有する方法 - Webproject

状況: ログインした後にログインした後に、たくさんの写真があります。

1)私は自分の資格情報を使用して入力してください - > login.php

2をindex.phpに)..私は私のプロフィールを見て、私は例えば(さえずりとそれを共有したいです)。

3)私はそれを共有する事があるURLである "page.com/index.php# &アルバム= 1つの& ID = 1" の問題は、URL、私は役に立たないだろう共有している場合は、

他のユーザーがアカウントを持っていると、自分の写真が表示され、自分のものではないからです。

私は解決策を見つけようとしていますが、私は他のサイトがこの問題なしで写真を共有する方法を知らない。

私は英語がベストではない場合、私は助けてくれると思います。

+0

「twitter cards」について – urfusion

答えて

0

私は写真と一緒に保存された個々の写真のためのUUIDを生成し、あなたのURLは次のようになりますので、そのURLではなく、2つのID使用してこれを行うだろう。

http://example.com/photos/123e4567-e89b-12d3-a456-426655440000 

このURLを他の人と共有して、サーバーにロジックを追加して、写真を要求している人が見えるようにするかどうかを決定できます。

もっと思い出深い、または簡単に入力できるUUIDが必要な場合は、さまざまな形式でそれらを作成するライブラリがたくさんあります。

この主な利点はシンプルさです。その写真のUUIDは1つだけですが、デザインがどのように変更されるかは関係ありません(たとえば、アルバムを削除した場合など)。将来もフォーマットを変更する必要がある場合は、URLを同じに保つか、少なくとも元のURLをサポートし続けることができます。

もう1つの大きな利点は、UUIDとして使用するものは推測するのが難しいため、攻撃者の潜在的なルートを削除します。攻撃者はIDを繰り返し処理できる可能性があります。純正のURLを作成しました。

-1

写真を共有するためのルートをもう1つ増やす必要があります。

/share.php?user=1&album=1&id=1 

このファイルには、正しい写真を表示するためのすべてのパラメータ(ユーザー、アルバム、ID)が表示されます。

そして、このルートを追加してindex.phpを共有する必要があります。

Facebookの例:https://www.facebook.com/sharer/sharer.php?u=http%3A//site.com/share.php?user=1%26album=1%26id=1

+0

「user」IDがそのユーザーのために一定であれば、潜在的なセキュリティ上の脆弱性が追加されています。なぜなら、私と写真を共有すると、 'album'と' id'に異なる値を試して、あなたの写真を収穫してみてください。明らかに、私はそれらの写真にアクセスする許可を持っているかどうかを確認するためにサーバー上のいくつかのチェックを持っていますが、そのセキュリティに小さな穴がある場合、私は通過するチャンスがあります。 URLを写真、アルバム、またはユーザーの実際のIDから独立させる場合。 – DaveyDaveDave

+0

「正しい写真を表示するにはどうすればいいですか?」という質問があると思います。セキュリティは重要なことですが、別のことです – Artoa

関連する問題