私は意図的に(テストのために)WebMatrix C#で次の変数を割り当てました:
string val = "<script type='text/javascript'>alert('XSS Vector')</script>";
ページの後半で、かみそりを使用してその値をページに直接書き込みました。
<p>
@val
</p>
テキストを書き込みますが、安全な方法で(つまり、アラートスクリプトは実行されません)
これは、'val'にhtmlエンティティ(たとえば)が含まれている場合、ページがレンダリングされると予想されるように、「<」ではなく<
正確に「」も書き込むという事実と相まって。<
これは、C#が最初に実行され、次にhtmlがレンダリングされるためですか?
さらに重要なことに、このように使用する場合、この方法でかみそりを使用することは、htmlエンコーディングの適切な代替手段ですか?