web-dev-qa-db-ja.com

Webサイト上のハイパーリンクを保護する方法

ユーザーがウェブサイトのフォーラム、コメント、ブログに貼り付けたハイパーリンクを、不正なリンクやマルウェアにつながるものからどのように保護できると思いますか?

私はグーグルセーフブラウジング、projecthoneypotについて考えました。

この問題に対処しましたか?また、リンク不良の問題を回避できるかどうか。

4
skomak

一般に、重要なリソースがない限り、リンクを精査する方法はありません。サイトにアクセスした場合でも、ドメインが期限切れになり、古い所有者の評判を利用したいマルウェアディストリビューターによって取得される可能性があります。

プロトコルをホワイトリストに登録する必要があります。 httphttps、およびmailtoのみを許可します。 javascript:リンクは信頼できません。

それに加えて、最新のブラウザに依存して、ある種のマルウェアチェックを含めることができ、古いブラウザへのリンクを提供しない可能性があります。

いずれにせよ、 nofollow を使用して、マルウェアトラッカーが、サイトがリンクしているためにこれらのリンクの信頼性が高い、またはリンクしているためにサイトの信頼性が低いと結論付けないようにする必要があります。

2
Mike Samuel

URL短縮サービスは、ユーザーからの要求を覆い隠すため、XSSまたはCSRFの脆弱性を活用するための優れた方法です。マカフィーが提供する 安全なURLショートサービス

リンクがリダイレクトされているかどうかをHTTPヘッダーで確認するのは簡単です。 CURLはHTTPヘッダーリダイレクトに自動的に従うことができますが、メタリダイレクトとJavaScriptリダイレクトはより困難です。

確認できることが2つあります。 GoogleのAPI を使用して、URLがGoogleセーフブラウニングブラックリストに含まれていないことを確認できます。 JavaScriptが含まれていないことを確認することもできます。この部分はエンコーディングのために少し難しいですが、それでも実装はかなり簡単です。

0
rook

悪意のあるリンクがサイトに投稿される可能性を減らすためにサービスプロバイダー(つまりウェブホスト)が何ができるかが問題である場合、いくつかの利用可能な方法があります。 Websenseは、サービスプロバイダーがリンク(短縮されているかどうか)が任意の数の事前定義されたカテゴリ(つまり、アダルト、悪意のあるなど)に属しているかどうかを確認するために使用できるWebサービスであるThreatseekerクラウドを提供していることを思い出します。この種のサービスをサービスプロバイダーに提供することを目的としたベンダーやベンチャーは他にもあると思います。

公開前に投稿された各リンクを確認する以外に、他の回答に記載されている他の技術的統制や、登録ユーザーのみが投稿できるようにするための単純な管理/社会的統制をいつでも確認できます。モデレーターによるモデレートの要件を追加するか、ソーシャルコンポーネントを追加して、何らかの措置(つまり、賛成票、評判など)の後に登録ユーザーのみがリンクの投稿を利用できるようにすることができます。

最後に、リンクをいつでもマスクして、ユーザーがリンクをコピーしてブラウザに貼り付ける必要があるようにすることができます。しかし、このアプローチはユーザーの負担を軽減します。

0
bangdang