JAMstack

リバースエンジニアリング対策

難読化

Tips

idとname

文字列処理

イベント

キー

ブラウザの戻る対応

FirefoxとSafariは、「戻る」「進む」で、キャッシュによりonloadがスルーされるような挙動をする

同一生成元ポリシー(Same Origin Policy)

  • セキュリティ上の懸念から、スクリプトによるアクセスの範囲を同一のドメインから提供されるコンテンツのみに制限

クロスドメインアクセスのテクニック

JSONP

  • JavaScriptの読み込みが同一生成元ポリシーに制約されないことを利用
  • 長所
    • Google、Yahoo! など多くのWebサービスがJSONP形式のAPIインタフェースを実装済み
  • 短所
    • 任意のコードの実行を許してしまう可能性がある
    • 送信できるのはHTTP GETリクエストのみ(IEの場合は最大2083byte)

フラグメント識別子を利用

  • 長所
    • 単なるメッセージ交換であるため、送受信されるデータフォーマットのチェックが可能
    • アクセスを許可するドメインを選択可能
  • 短所
    • 送信するサイト側にレシーバ用のHTMLの配置を事前に行っておく必要がある
    • メッセージ送受信時にURLのフラグメント識別子にメッセージをエンコードする必要がある(URLの最大長に注意)
    • IEの場合、フレームリロードの度にクリック音が発生する ← IEうざい。消えろ!

window.nameを利用

Cookie

イベント

ウィンドウを閉じたイベントでの処理

IEはこれで動く

window.onbeforeunload = function()
{
    if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey )
    {
        alert("閉じちゃ、いやーー!!");
    }
}

prototype.js を使って同様のことができる

<script type="text/javascript" src="prototype.js"></script> 
<script type="text/javascript">
Event.observe(window, 'beforeunload', function(e) {
    // イベントをキャンセルする場合は何も返さない
    return e.returnValue = 'beforeunload';
});
</script>

ネットワーク

文法的なこと

変数、プロパティが定義されていない(undefined)かの判定

その他

  • onClickだとうまくいかなくて、onMouseDown?だとうまくいくといったケースがある

実例

その他


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-02-05 (日) 19:38:22 (445d)