2016-09-21 16 views
0

角2の最終リリース。安全でないURL値のサニタイズ

私のリンクは次のとおりです:href = "javascript :;" 私のリンク

と、私は次の警告

WARNING: sanitizing unsafe URL value javascript:; (see http://g.co/ng/security#xss) 

取得しています私はjavascriptのように私のリンクを必要とする:;なぜなら私はそれを '#'または ''にしてページをリフレッシュするからです。

私は人々がこの問題を角度の人々に報告し、修正する予定のいくつかの記事を読んでいます。 pkozlowski - オープンソース

の助けを借りて行わ

+0

をやっている、あなたの場合にはダミーのhrefとのリンクを持つことの目的は何ですか?おそらくあなたは 'javascript:;'にXYの問題があります。 – estus

+0

ng-bootstrapドロップダウンメインhref私たちはそれを空にしてドロップダウンアイテムを持っていなければなりません。私たちがjavascripotを保持しないとします。それをクリックすると、それ自体がリフレッシュされます。 –

+0

私は要素を動的に生成しています。彼らは直接リンクやドロップダウンを持つことができます。それらがリンクしている場合は、hrefでデータを埋め込むためにURLを使用します。彼らが落ちると、私はhrefをvoid(0)にします。それをクリックするとページが更新されません。 –

答えて

0

私はあなたがここにサニタイズをだましたいとは思いません。あなたはクリックイベントを持っているリンクを使用していて、それがナビゲーションをトリガしてはならない場合は、単に私が単にHREFを削除して、コメントを追加し https://github.com/angular/angular/issues/11805#issuecomment-248840338

ポストイベント、例:

<a (click)="$event.preventDefault(); doSth()"> or even shorter 
<a (click)="!!doSth()"> 

参照上のデフォルトの動作を妨げます次のようなクリックイベント

<a (click)="!!navigateToUrl(urlVar)">..</a> 

注: '!!' 'href'アクションの起動を防ぎ、ページの更新を防ぎます。 はのnavigateToURLが私のjs方法単に私が魔法のように

if(urlVar){ 
window.location.href=urlVar 
} 

ような作品は警告なしなど。