2016-06-01 5 views
1

私のWebアプリケーションでは、ユーザのデータをMongoDBドキュメントに保存します。これらは固有の_idプロパティを持っています。アイテム自体は固有のIDを持つことになります記録しますが、私は、単に場所/uploads/<user_id>/<item_id>/<fileName>ユーザの一意のMongoDB _idを公開する際にセキュリティ上のリスクはありますか?

でファイルを返すバックエンドで

/api/uploads/:user_id/:item_id/:fileName 

:ユーザーは、私は、次のAPIを作成した作成したアイテムに関連付けられたアップロードを取得するには<user_id>という名前のフォルダ全体を単に削除できるので、このフォルダ構造によって、1人のユーザーに関連付けられているすべてのアイテムを削除することができます。

しかし、このように設定すると、ユーザーのユニークな_idが公開アップロードにアクセスするすべてのユーザーに明らかに公開されています。

私の質問は、セキュリティ上のリスクを引き起こす可能性のある方法はありますか?悪意のあるハッカーは、ユーザーの一意のIDで何をすることができますか?

答えて

3

私はそれが重大なリスクだとは思わない。概念上、あなたが提供するあらゆる情報は、ハッカーによって悪意のある目的に使用される可能性があります。 _idには特別なことは何もありません。あなたがそこに置くことができるものよりもリスクを増やします。 `ObjectId`ので注意すべき

かかわらず、あなたがURLに入れるものを、あなたは適切なアクセス制御を強化し、可用性を確保していることを確認したいと思うが、など

+2

ことの一つは、彼らが含まれているということです[情報](https://docs.mongodb.com/manual/reference/method/ObjectId/)(これらはランダムではなく、単にシーケンシャルでもありません)、これは一般的に問題ではありません。 – robertklep

+0

すごく、ありがとう@Paul! – Aron

関連する問題