【修正とお詫び】はてブ追加画面拡張GreasemonkeyのXSS脆弱性の修正 2007-02-23 2007-02-22に公開したはてブ追加画面にサイトを表示するGreasemonkey : akiyan.comにXSS脆弱性がありました。申し訳ありませんでした。現在は修正されておりますので、ダウンロードされた方は再インストールをお願いいたします。 目次 脆弱性の内容 XSS脆弱性。攻撃者は、はてブ追加画面にサイトを表示するGreasemonkey : akiyan.comを有効している状態のユーザーに対して、特定のURLにアクセスさせることで攻撃者の任意のスクリプトをb.hatena.ne.jpドメイン上で実行できてしまう。 脆弱性の修正の方法 http://www.akiyan.com/js/viewSiteAtHatenaBookmark.user.jsを再インストールしてください
はてブ追加画面にサイトを表示するGreasemonkey 2007-02-22 2007-02-23 14:39(JST)以前に公開されていたスクリプトにXSS脆弱性がありました。現在は修正されていますので、ダウンロードされた方は再インストールをお願いいたします。→ 脆弱性の詳細について はてなブックマークの追加確認画面の右側に、追加しようとしているページを表示するGreasemonkeyスクリプトを作りました。 こんなときに便利かなと。 ブックマーク先の内容をちょっと抜粋したいときに ブックマーク先を読みながらコメント書きたいときに なんとなくさみしい追加確認画面をゴージャスにしたいときに 動作イメージは以下のようになります。 http://www.akiyan.com/js/viewSiteAtHatenaBookmark.user.jsからインストールできます。 (FirefoxとG
最近 GreaseMonkey ちょっと使ったりするんだけど $X 関数が便利すぎる!! $Xとは cho45氏が作った XPath 用の関数です。Shibuya.JS で発表してた資料にあります。 http://lowreal.net/2006/shibuya-js-1-lt.html http://lowreal.net/logs/2006/03/16/1 例:mixiクローラ これは例です。規約違反などで実際には絶対やらないでください。 var links = $X("//a[contains(@href,'show_friend.pl')]"); setTimeout(function(){document.location.href=links[Math.floor(Math.random()*links.length)].href }, 3000); 簡単過ぎる! これでグリモ
GM_setValue / GM_getValue + unsafeWindow.eval を使って 永続的に外部スクリプトを利用する方法を考えてみた。 わざわざ DOM で script要素 を毎回注入するよりも 速いんじゃないかと思う。 Greasemonkeyには、GM_setValue / GM_getValue というのがあって、 GM_setValue("キー", "値") 上記のように入力してあげる事によって、たとえ、 Firefoxを終了させたとしても消えないデータを作成する事が出来る。 そして、それを利用して、 初回のみ XmlHttpRequest で外部スクリプトデータを取得して、 GM_setValue でスクリプトデータを永続化しておき、 二回目以降は、それを GM_getValue して eval するようにした。 以下は、永続的に prototype.js を
http://rails2u.com/misc/hatena_hotkeyword_graph.user.js はてなの注目キーワードではその日どんなキーワードを注目されているかが解って結構面白いです。視覚的に解るともっと面白いかもー、というわけで PlotKit + GreaseMonkey でサクッと作ってみました。 こんな感じで表示されます。1画面内のグラフに主だったキーワードが表示されるので、「あっ、そういえばこの日こんな事あったよー」というのが解って割と面白いと思います。もちろんジャンル事の表示などにも対応してます。また例えば先日の大停電の日のグラフですが このように、普段あまり使われてない「東電」というキーワードが一時的にめちゃくちゃ使われてる事が解って面白いです。 技術的なところでは、GreaseMonkey の開発ならヤツに丸投げまかせろ!でお馴染みな砂糖さん の外部ライブ
以前、「Greasemonkeyでprototype.jsやscript.aculo.usを使う方法」を紹介しました。しかし、Greasemonkey内でprototype.jsが利用できるようになった恩恵を十分に受けられていませんでした。つまり、Greasemonkeyで提供されているGM_xmlhttpRequest()が可能にする「異なるドメインとの非同期通信」からの恩恵です。そこで今回は、Greasemonkey内で使えるようになったprototype.jsをさらにパワーアップし、クロスドメインAjaxができるようにしてみたいと思います。 問題 厄介な問題は、GM_xmlhttpRequest()はFirefoxやInternet Explorerなどで提供されているXMLHttpRequestとインタフェースが全く違うということです。 GM_xmlhttpRequest()は単な
先日公開しました はてなブックマークを拡張するW!ボタンですが、想像していたよりも反響があり驚きました。ありがとうございました。 さて、今回はそのW!ボタンの開発に利用したテクニックの一部と参考文献を紹介します。 W!ボタンの開発には以下が役に立ちました。 JavaScript Shell return文で強制的に制御を返すテクニック The data: URI kitchen Live HTTP Headers Greasemonkey Hacks JavaScript Shell JavaScript Shellを利用することで 正規表現 DOM XPath などを手軽に試行錯誤できる環境が得られます。この中でもXPathの作成をJavaScript Shellで行うのが特に有効だと感じました。というのも、JavaScript Shellはシェルで入力されたJavaScriptのコード
Greasemonkeyでprototype.jsやscript.aculo.usが使えたら便利だろうな、と考えたことのある開発者は少なくないのではないでしょうか。ちょっとそんなアイデアを試してみたことのある方ならわかると思うのですが、Greasemonkeyでそういった外部JavaScriptライブラリは簡単には使えません。案外ハードルが高いです。 Googleで調べていたら、面白い解決方法が見つかったので紹介します。 Loading External JavaScript Libraries in Greasemonkey このブログで解説されているアプローチを用いれば、Greasemonkeyで外部JavaScriptライブラリが使えるようになります。 ポイントは、 外部ライブラリがロードされるまで待ち続ける制御構造 unsafeWindowを経由して外部ライブラリにアクセス といっ
コメントしてないユーザと含む日記も表示。いいかげん飽きてきた。 javascript:(function(){var s=document.createElement('script');s.charset='UTF-8';s.src='http://childtv.org/hatena/js/bookmarklist';document.body.appendChild(s);})(); スクリーンショット 追記 全エントリーページを読んでたんじゃはてなさんに迷惑なので、下のスクリプトをFirefoxのGreasemonkeyに読ませると○users の左にあるアイコンをクリックでコメントを表示する、とかその程度にしておくのが良い子。 http://childtv.org/hatena/js/bookmarklist.user.js 追記の追記(1) 2005-05-19 17:27 ○
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く