現在、AJAXにおいて、使用するjavascriptファイルを

jsの方で
document.createElement('script')という風にして
特定のDIVタグのidにjsファイルを設定しています。

そこでなんですが、
document.createElement('script')する際に
外部のjsファイルを読み込むのですが
もしも、そのjsにalertやdocument.writeなど
書かれていると、実行されてしまいます。

なので、document.createElement('script')する際の
ファイルの中身を参照して、該当のキーワード
(alertやdocument.writeなどのscript実行部分)がある場合に
このjsはNGですみたいな、挙動をjavascriptで行いたいのですが
可能でしょうか?

説明が、大雑把過ぎるかも、知れませんが
皆様のお力をお貸し下さい。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2009/12/21 17:35:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答0件)

回答はまだありません

  • id:kn1967
    単純に、
    1.スクリプトとしてではなく、テキストとして読み込んで中身をチェック。
    2.問題があれば警告表示、無ければスクリプトとして読み込み。
    という流れだと思うけど、このような心配があるような状況では、
    単純にalertなどの単語を調べるだけで話を終わらせられるはずも無いと思うので、
    コメント欄。

    どうしてそのような状況になっているのか判りませんが、
    事前に人力(人力検索じゃないよ。笑)で、
    読み込むスクリプトの内容確認してからサーバにアップするべきだと思う。
  • id:edvakf
    上のコメントに勝手に補足させていただきます。

    1.
    テキストを読んでブラックリストで弾くだけだとこういうこと↓をされてしまうと役に立たない。
    http://d.hatena.ne.jp/hasegawayosuke/20090603/p1

    2.
    スクリプトが自分のサーバーにあるなら XMLHttpRequest して responseText を
    (function() {
    var DOCUMENT_WRITE = window.document.write, ALERT = window.alert;
    window.document.write = window.document.write = window.alert = function(){};

    window.document.write = DOCUMENT_WRITE;
    window.alert = ALERT;
    })();
    で囲んで eval するということもできるけど、そうやって保存しておいた変数を使われるかもしれないし、
    他の悪いことをされたり (cookie を盗られたり) するかもしれない。

    3.
    他人のサーバーにあるスクリプトは、API として提供されているもので無い限りは基本的には使ってはいけない。
    最近ですが、json.org の json2.js を直接読んでたサイトがあって json.org のトラフィックが増加しすぎたため、
    json.org が警告を出すようにしたという話がありました。

    信頼できないスクリプトを読み込まないことが一番だと思いますよ。
  • id:hopefully
    色々、回答ありがとうございます。
    今回、自分のサーバーで他の人が作った
    jsファイルを別サーバに呼びに行かないといけなくて
    出来るのであれば、中身のチェックをしようかと思いました。

    やはり、javascriptファイルの中身のチェックは
    難しいですね・・

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません