2016-09-07 8 views
0

私は静的なHTMLを提供しており、セキュリティを脅かす可能性があるので、<!-- comment -->コメントなしでそれらをクライアントに送信します。ASP.NET:コメントをプログラミングせずに静的なHTMLファイルを提供する方法はありますか?

これを行う方法はありますか?あなたはカミソリのコメントタグの代わりに、HTMLコメントタグの間にコメントを書くことができ

答えて

0

レイザーの@* comment *@が、htmlのために類似

何か...。それらはフロントエンドでは見えません。

これ以外にも、htmlファイルに置いたものをテキストとして印刷します(RazorやPHPなどのサーバーサイドスクリプトは除外します)。静的なHTMLからコメントを取る方法はありません。ツールを使ってサーバー上でコメントを縮小しない限り。しかし、あなたは静的なHTMLページであると言っているので、私はあなたが全くツールを使用していないと思っています。

たとえば、http://www.willpeavy.com/minifier/のようなツールを使用できます。

コメントを残すセキュリティリスクはそれほど悪くあってはいけません。 HTMLコメントに貴重な情報を入れてはいけません。現在は、他のプログラマーが引き継ぐときに要素がどこで開始され、終了するかを示すために使用されています。

あなたのjavascriptもウェブサイト上に表示されます。たとえば、ajax呼び出しとデータベースを操作するとします。これは、いくつかのHTMLコメントよりもはるかにリスクが高くなります。明らかに、クライアントサイドのコメントにセキュリティの問題を引き起こす重要な情報を共有しないようにするだけで済みます。

それはHTMLを提供する自動化されたシステムであり、あなたはそれを与える前に、コメントを削除することができれば、あなたはこのような関数を使用することができますが:

あなたは、HTML敏捷性パックの.NETライブラリを使用することができます。

HtmlDocument doc = new HtmlDocument(); 
doc.Load("yourFile.htm"); 

// get all comment nodes using XPATH 
foreach (HtmlNode comment in doc.DocumentNode.SelectNodes("//comment()")) 
{ 
    comment.ParentNode.RemoveChild(comment); 
} 
doc.Save(Console.Out); // displays doc w/o comments on console 

出典:Removing HTML Comments(あなたが見つけることができますたくさんのHTML敏捷性パック

を使用する方法このコメントを削除するには、C#のコードは次のとおりです。ここではSOそれを使用する方法について説明記事 ですmore options here)

htmlを静的ファイルに保存する前に、またはコメントを除外するために既存のファイルを編集する前に、そのような関数をトリガーするのは簡単なことです。

+0

ファイルは静的なので、私が置くRazorタグはページ上にテキストとしてレンダリングされます。 また、ファイルを処理するときに自動的にこれを行う方法を探していました...手作業ではありません。 しかし、あなたはポイントがあります。私のHTMLにコメントする必要がある場合は、単純化する必要があるかもしれないことを意味するかもしれません...;) –

+0

ファイルが静的であるということを知りませんでした。私はあなたがhtmlだけだったと思った。 その場合、ファイルを何らかの種類のフィルタに投げなければ、それは不可能です。静的ファイルを手動で配布するか、自動化されたC#プロセスを通じて配布しますか?自動化されたプロセスであれば、最初にコメントを削除する機能を組み込むことができます。私の答えで言ったように。 HTMLコメントを非表示にすることはできません。 – NoobishPro

+0

ファイルはMVCコントローラ –

2

HTMLファイル自体からコメントを削除する場合は、もちろんメモ帳でコメントを開いてコメントを手動で削除することもできます。しかし、私はあなたがページがブラウザに送られたときにそれらをリアルタイムで削除することについて話していると思います。コメントは静的ファイルに残しておきます。

クラシックモードでIISを実行している場合、ASP.NETコードを使用してコメントをリアルタイムで削除することはできません。しかし、IISをintegrated pipeline modeで実行している場合は、要求/応答パイプラインとpostprocess the HTML fileに接続して、任意の操作を行うことができます。 EndRequestイベントハンドラにあります。

ページを解析してHTMLコメントを検索して、それを削除するという具体的な内容がわからない場合 - someone elseのように見えますが、そこにいくつかの回答があります。

関連する問題