3

Facebookのウォール/ニュースフィードのように、非常に多くの機能を備えたWebページを作成しています。登録ユーザー(またはFacebook-connect、google auth)は、URLを送信できます。現在、私はこれらのURLを取得し、urllib2を使用してURLのコンテンツを取得し、og:properties、HTMLタイトルタグ、画像のいくつかのタグなどの関連情報を検索しています。

これで、ユーザーがサーバーにURLをフィードして開くようにすると、サーバーが危険にさらされることを理解しました。

私の質問は、リスクがどれほど高いかということです。どのような標準のセキュリティチェックを行うことができますか?

今のところ、何をチェックすればよいかわからないため、「アクティブな」保護なしでURLを開いています。

そして、フェッチされたコンテンツをデータベースに保存するのはどうでしょうか。djangoにはSQLインジェクションに対する保護機能が組み込まれていますか?

ありがとうございました!

4

1 に答える 1

2

ここで明らかなリスクの 1 つは、Web サイトが悪意のある URL を拡散するためのベクトルとして使用される可能性があることです。

たとえば、特定のゼロデイ バッファ オーバーフローを悪用して、Webkit ベースのブラウザで任意のコードを実行できる不正な html を見つけたとします。あなたのウェブサイトが人気を博したとしたら、それは私が絶対に試してみたいスポットの 1 つです。

現在、セキュリティ上の欠陥を探すために提出された URL の内容を照合することはおそらくできません。そうすれば、ウイルス対策/セキュリティ企業になるでしょう。Chrome と Safari の両方がこれらをある程度処理します。

ユーザー/コンテンツのために、そして私が説明したリスクのために、ユーザーの行動によって学習するフラグシステムを構築できます。誰かが URL にフラグを立てるたびに分類子をトレーニングできます。こちらのを参照してください。

Pythonにも、そのようなさまざまなソリューションがあると確信しています。

Django のコンテキストでのセキュリティ、SQL インジェクションの概要については、このリンクを参照してください

于 2012-10-10T09:00:23.173 に答える