自分のサイトへのリンクを停止するようにHTML清浄機を使用しました
-
18-09-2019 - |
質問
私は私の公共直面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する