タグ

polyglotとjavascriptに関するTAKESAKOのブックマーク (6)

  • JavaScriptで,グローバル変数の存在判定をする3つの方法 ("window"の定義状況を確認したい) - 主に言語とシステム開発に関して

    JavaScriptプログラミングのTOPJavaScriptで,グローバル変数が存在するかどうか判定するための3つの方法。 3つのうち1つはよく使う。 残りの2つは,特殊な状況(WSHとの使い分けなど)で役立つ。 (1)「in window」 を使う 常套手段。 特定のオブジェクトが特定のプロパティを持っているかどうかを判定するためには,inを使う。 下記は, 一つ目のボタンでグローバル変数をセットし 二つ目のボタンでその存在判定を行なう というコード。 <input type="button" value="グローバル変数をセット" onClick="f()"> <input type="button" value="グローバル変数の定義状況を判定" onClick="g()"> <script language="JavaScript"> function f() { // グロ

    JavaScriptで,グローバル変数の存在判定をする3つの方法 ("window"の定義状況を確認したい) - 主に言語とシステム開発に関して
  • [柔軟すぎる]IEのCSS解釈で起こるXSS

    [柔軟すぎる]IEのCSS解釈で起こるXSS:教科書に載らないWebアプリケーションセキュリティ(3)(1/3 ページ) XSSにCSRFにSQLインジェクションにディレクトリトラバーサル……Webアプリケーションのプログラマが知っておくべき脆弱性はいっぱいあります。そこで連載では、そのようなメジャーなもの“以外”も掘り下げていきます (編集部) なぜか奥深いIEのXSSの話 皆さんこんにちは、はせがわようすけです。 第1回「[これはひどい]IEの引用符の解釈」と第2回「[無視できない]IEのContent-Type無視」でInternet Explorer(IE)の独自の機能がクロスサイトスクリプティング(XSS:cross-site scripting)を引き起こす可能性があるということについて説明してきました。 第3回でも引き続き、IE特有の機能がXSSを引き起こす例ということで、

    [柔軟すぎる]IEのCSS解釈で起こるXSS
  • 文字コード polyglot - 葉っぱ日記

    IE限定。外から指定されるcharsetに応じて挙動を変えるJavaScriptの関数の実装例。以下のコードを Shift_JIS として例えば charset.js のような名前で保存する。 function detectCharSet() { try{ var ADE = 'アア'; // 0xB1 x2 if(+ADE-0 == 10 ){ return 'UTF-7'; } if( ADE == 11 ){ return 'US-ASCII'; // 0xB1 means 0x31 } if( ADE.charCodeAt(0) == 0xFF71 ){ return 'Shift_JIS'; // Halfwidth Katakana Letter A x2 } if( ADE.charCodeAt(0) == 0x81FC ){ return 'EUC-JP'; // 0xB1

    文字コード polyglot - 葉っぱ日記
    TAKESAKO
    TAKESAKO 2009/05/29
    var ADE='アア';if(+ADE-0 == 10){return 'UTF-7';}if(ADE==11){return 'US-ASCII';} // 吹いたwww
  • 2009-05-19

    VBScript と JScript を交配させるたったひとつの方法 - 葉っぱ日記 のパクリです。 VBScript と JScript はとっても仲がいいので、かんたんに交配させることができます。 rem=[1,2,3] ["Hello, JScript!"] = "Hello, VBScript!" WScript.Echo(["Hello, JScript!"]) 例えば、これを hello1.txt などというファイル名で保存しておいて、コマンドラインから C:\>cscript //E:VBScript hello1.txtのように実行すると「Hello, VBScript!」と表示され C:\>cscript //E:JScript hello1.txtのように実行すると「Hello, JScript!」と表示されます。 Enjoy! 次のステップとしてrem構文とrem変数

    2009-05-19
    TAKESAKO
    TAKESAKO 2009/05/19
    どうみても役に立ちません。本当にありがとうございました(ry
  • WSHスクリプトのBATスクリプトへの組み込み(後編) - それはそれ、これはこれ

    前回の続き。 VBScrirpt と異なり、JScript には、行末までのコメント記号 // の他に、 /* */ で囲んだ複数行コメントが書ける。従って、バッチスクリプト部分をこれで囲めばコンパイル対象外に出来るため VBScript のようなコンパイルエラーを回避できる。 後は、/* がバッチスクリプトとしてもエラーにならなく書け、それが JScript としてもエラーにならない書き方が出来ればいい。共通のコマンド/ステートメントとして、@set 文が使えそうである。JScript の @set でセットできる変数名は @ で始まり、値は真偽か数字と制約がある。一方、バッチスクリプトの set コマンドとして見ると @ のために行がエコーされないので都合が良い。 今回も、一週間後の日付けを表示するという具体例でいく。 @set @_=1/* @echo off for /f "del

    WSHスクリプトのBATスクリプトへの組み込み(後編) - それはそれ、これはこれ
    TAKESAKO
    TAKESAKO 2009/05/18
    >JScript の @set でセットできる変数名は @ で始まり、値は真偽か数字と制約がある。一方、バッチスクリプトの set コマンドとして見ると @ のために行がエコーされないので都合が良い。
  • VBScript と JScript を交配させるたったひとつの方法 - 葉っぱ日記

    言語牧場 (Kanasansoft Web Lab.) じゃあ、JavaScriptとVB6を交配してみよう。 ... それってJScript!!! IE限定ならクライアントサイドVBScriptでいいじゃん!!! VBScript と JScript はとっても仲がいいので、かんたんに交配させることができます。 例えば、1から10の合計を求めるプログラムはこんな感じ。 i = 1 s = 0 while( i <= 10 ) rem =function(){ s = s + i i = i + 1 ''}(); ''/* wend ''*/ WScript.Echo( s ) 例えば、これを bokujo.txt などというファイル名で保存しておいて、コマンドラインから C:\>CScript //E:VBScript bokujo.txtのように実行するとVBScriptとして実行され

    VBScript と JScript を交配させるたったひとつの方法 - 葉っぱ日記
  • 1