を選択するために、テキストを追加します。したがって、渡されたelement_nameを使用して要素を選択するより良い方法があります。これは代替として使用できます。より良い解決策は、私のような機能を持っている要素のjQuery
自動化されたコードレビューのアプリケーションが懸念としてこれをマーキングされています"This may enable a DOM XSS attack."
を選択するために、テキストを追加します。したがって、渡されたelement_nameを使用して要素を選択するより良い方法があります。これは代替として使用できます。より良い解決策は、私のような機能を持っている要素のjQuery
自動化されたコードレビューのアプリケーションが懸念としてこれをマーキングされています"This may enable a DOM XSS attack."
ジャバスクリプト(および「隠された」コンテンツ)がクライアント側であるので、言及する価値はセキュリティがとにかくありません。クライアントは信頼できません。
あなたが関数に与えた文字列を解析できないようにする必要がある場合は、代わりにdocument.getElementById
を使用します。
function test(element_name){
$(document.getElementById(element_name)).show();
}
私はこれを知っていますが、コードレビューアプリケーションはこれを最優先事項としてマークしています。 'これはDOM XSS攻撃を可能にするかもしれません。 ' –
@ atulquest93私のアップデートはあなたのセキュリティレビューに役立つかもしれません。コードレビューアプリケーションは勧告であることに注意してください。一方では、盲目的に指示に従うだけではいけません。一方で、特定の警告を無視する正当な理由があるはずです。 – Ouroborus
jQueryがセキュリティ上の問題となる文字列を解析する方法はありますか? (受け取っている文字列が '#'で始まると仮定すると、) – nnnnnn
要素は、特定のオブジェクトの子であるかどうかをチェックすることができますまたはあなたがカスタムタグを追加することができます.show()とそれをチェックできる要素が必要ですが、IDを介してオブジェクトを割り当てる他の "安全な方法"はないと思います。
pass element_id? '$( '#element_id')。show()'? –
___ 'some security concern' ___?それは何ですか ? – Rayon
私は不思議です、なぜこれはセキュリティ上の懸念ですか?これがセキュリティ上の懸案事項である場合、他のすべての選択肢もサーバー側に関係なくセキュリティ上の懸念事項になります。 – Ozan