自分のサイトへのリンクを停止するようにHTML清浄機を使用しました

StackOverflow https://stackoverflow.com/questions/1699151

質問

私は私の公共直面WYSIWYGエディタから来る疑わしいものを取り除くために HTML清浄を使用していました。入ってくるHTMLは、Webサイトの公開部分に表示されます。

私は、リンクを許可している、と私はまた、自動的に(浄水を使用して)プレーンテキストでURLをlinkifyます。

同じドメインに外部リンクが、禁止のリンクを許可する方法はありますか?例えば、私のドメインがwww.example.com

であります

http://www.google.com にリンクされます。

http://www.example.com/logout/ にリンクされません。

私は、悪意のあるユーザーからの干渉を最小限に抑えることで探しています。私はちょうど私のログアウトリンクをしなければならないPOSTキー/値のペアを持つフォームのアクションが起こってからこれを停止するには?

おかげ

役に立ちましたか?

解決

あなたのログイン/アウトフォームは常にPOST-のみである必要があります。

は、検証値を心配しないでください、これはかなり重要なセキュリティ上の問題である - Webサーバの状態を変更するすべてのトランザクションは、POSTリクエストでなければなりません。あなたは http://example.com/object?action=delete を許可していない、または任意のんその変異体。 PHPは、この問題に悪い習慣を奨励していますが、常にどちらか一方を使用して、両方できるようにすることはありません。

ユーザーがあなたのWYSIWYGエディタにフォームを作成することができた場合は、これよりもはるかに大きな問題を持っています。

、あなたの元の質問に答えるために内部リンクを無効にするには、URI.HostBlacklistを使用してURI.MakeAbsoluteを設定してくださいます:

http://htmlpurifier.org/live/configdoc/plain.html #URI.HostBlacklistする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top