1

Web サイト (私たちのサイトの 1 つ) のページで、URL に次のコードを入力できます。

javascript:createNewWindow('Something', 100, 100, 'Text')

誰かがこれを悪用できる方法はありますか?

function createNewWindow(url, widthIn, heightIn, title) 
        {
            var strOptions='toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=' + widthIn + ',height=' + heightIn;
            var newWin = open( url,title,strOptions ); 
            newWin.focus();
        }
4

4 に答える 4

1

それ自体は危険ではありません。エクスプロイトを防ぐために、アプリケーションの他の部分に注意する必要があります。ブラウザ、データベース、外部サービス、その他の制御できない情報から取得するすべての情報を必ず検証してください。

クロスサイトスクリプティング(別名XSSまたはCSS)について学ぶことは、そのコードのリスクを理解するのに役立ちます。

于 2009-03-01T04:25:18.830 に答える
1

そのコードを考えると、createNewWindow() スクリプトは生の JavaScript より脆弱ではありません。

于 2008-10-22T17:58:42.357 に答える
1

関数 createNewWindow() には、window.open() とまったく同じ脆弱性があります。そこまで気にする必要はないのではないでしょうか。

コードの追加に関するコメントが、送信できたことを意味する場合

javascript:createNewWindow('Something', 100, 100, 'Text')

フォーム入力 (またはクエリ文字列パラメーターとして) に入力し、レンダリングされた HTML に表示すると、アプリケーションはいくつかの種類の攻撃に対して非常に脆弱になりますが、createNewWindow() 関数によるものではありません。その場合、問題はブラウザから未チェックのデータをレンダリングすることです。

于 2008-10-22T17:59:38.063 に答える
0

一般に、サイトで実行されている JavaScript は脆弱性の原因ではありません。アプリケーションのサーバー側について心配する必要があります。

でも!JavaScript を使用してサイトに脆弱性を導入できます。そのDOM ベースの XSSと呼ばれます。投稿したコードは、DOM ベースの XSS に対して脆弱ではありません。

于 2010-01-29T17:23:55.513 に答える