Blogger:ページビュー設定(5)iOS SafariはJavaScriptでCookie編集の記事を書いたときに調べたときのメモを元に書き起こしました。
アドレスバーでのJavaScript実行はセキュリティの観点から阻止されているブラウザが多い
まずは試してみます。
アドレスバーに「javascript:alert(document.cookie);」をコピペしてEnterキーを押します。
これは保存されているクッキーを表示させるJavaScriptです。
Sleipnir4 成功
IE8 成功
iOS Safari 成功
IE9、IE10 「javascript:alert(document.cookie);」が検索ワードとして認識されてしまいます
Chrome 「javascript:alert(document.cookie);」が検索ワードとして認識されてしまいます
Firefox 反応なし
アドレスバーにJavaScriptをコピペで実行できたのはSleipnir4とIE8とiOS Safariでした。
セキュリティの観点からアドレスバーからのJavaScriptの実行は阻止されているようです。
アドレスバーからjavascript:を実行できなくするブラウザ側の対策について | MemeTodo
これによるとChromeとIE9はコピペせずにキーボードから入力すると実行できるようです。
キーボードからアドレスバーに「javascript:alert(document.cookie);」とキーボードから入力して実行した結果
IE9 フリーズ。私のこのときのIE9はおかしかったのかもしれません。「javascript:alert(1);」とするとちゃんと「1」がダイアログに表示されました。
IE10 成功
Chrome 成功
Firefox 反応なし
Firefoxが一番壁が厚いですね。
ブックマークレットにすればいずれのブラウザでも実行可能
お気に入りやブックマークのURL欄にJavaScriptを登録してそのブックマークを開けば実行可能とのことです。
これをブックマークレットといいます。
各ブラウザのブックマークレット登録方法をまとめました。
これは設置する人側からの観点で書いています。
IE共通、FireFox
<a href="javascript:alert(document.cookie);">Cookieを見る</a>このようにJavaScriptのリンクを作りそれを右クリックしてブックマークやお気に入りに登録してもらう。
例 Cookieを見る
IE10
FireFox
iOS Safariは結構面倒です。javascriptで始まるアドレスでブックマークを作成できないので一旦ダミーのブックマークを作ってからあとでURL部分を書き換えます。
iOS SafariでHTMLソースをみる方法で解説しています。
Chrome
まずはどのページでもよいのでアドレスバーの右端にある星マークをクリックしてブックマークに追加します。
編集をクリック。
あとはここでブックマークレットの名前とJavaScriptを入力して登録すればよいです。
Sleipnir4
Chromeと違ってブックマーク登録時に編集画面がでてきません。
iOS Safariと同じようにまずダミーのブックマークを登録してから編集しないといけません。
まずはどのページでもよいのでアドレスバーの右端にある星マークをクリックしてブックマークに追加します。
登録した後ブックマークメニューからブックマークを右クリックしてプロパティでブックマークの名前を変更し、URLにJavaScriptを入れて再登録します。
ページにリンクを置いてクリックしてもらうだけでも実行可能
どのブラウザでもリンクをクリックすると実行できてしまいました。
<a href="javascript:alert(document.cookie);">Cookieを見る</a>
リンクを置いているページだけで実行すればよいのであればこれが一番簡単ですね。
参考にしたサイト
クッキーを表示する - くれすの開発日記〔JavaScript編〕 - g:javascript
最初に教えてくれたページです。
アドレスバーからjavascript:を実行できなくするブラウザ側の対策について | MemeTodo
セキュリティの観点からJavaScriptの実行をできなくする対策がとられているそうでう。
0 件のコメント:
コメントを投稿