日本郵便の再配達フォームを使いやすくする #userscript
以前、以下のエントリーで高齢者がうんぬんという話があった日本郵便の再配達フォームのどうにかするものを書きました。
高齢者が「郵便局再配達依頼」が出来ないと泣いていたので検証してみた:Birth of Blues
私自身も日本郵便の再配達を依頼するたびにイライラさせられていたので、もうそんなことがないように自分なりに使いやすくなるように作りました。高齢者じゃなくたってあのフォームの作りには違和感があると思うんですよね。
script
https://github.com/blueberrystream/userscripts/blob/master/japanpost/fxxk_japanpost.user.js
target
spec
- ページ上部にあったお知らせ・申し込みの流れなどを右サイドバーへ移動
- 郵便番号は一度入力したらおぼえる
- 追跡番号/お知らせ番号は桁数に応じて自動的に判断する
- 郵便物の種類は種類番号を入力する方式にし、入力後に種類を確認できる
- 配達先は「ご自宅等」をデフォルトにする
image
how to install
Tampermonkeyを導入
Windows 版 Chrome 35 から Chrome Web Store 以外からインストールされた拡張機能が一律使用不可となりました。前々から告知されていて、延命措置もあったわけですが、ついに…というわけです。
なにか回避策はあるだろうと情報をあさっていましたが、レジストリに whitelist を書くものや起動オプションに whitelist を書くものを試してみましたが、どうにも効かないご様子。そんな中、 Chromeでユーザースクリプトが無効化されたから、Tampermonkey経由で利用する: DNAが支配する世界 で発見した Tampermonkey なる拡張機能を使うことでuserscriptを使うことができるとのこと。
さっそく導入してみて、自作の userscript をインストールしてみました。結果、ごく普通に使えるみたいです。 Google Sync でインストール内容を同期することもできるようで、今まで使っていなかったのが馬鹿らしくなるほどです。前述のエントリーでも触れられているように、 Firefox の Add-on である Greasemonkey の Chrome 版といった感じです。
前述のエントリーでは、拡張機能の id を元にローカルディスクからスクリプトファイルを探してインストールする方法が紹介されていましたが、 Tampermonkey の設定を行った上でインストール済みのスクリプトを Tampermonkey 経由でインストールし直すことができるような感じでした。私は自作スクリプトを github に公開してるので、更新することを考えてそちらからインストールしたので試せていません。
Chrome Web Store 以外でホストされていた拡張機能については、一度 crx ファイルの拡張子を zip にして解凍して適切なフォルダーに置いた上で、 Chrome のデベロッパーモードを有効にしてから「パッケージ化されていない~」で読み込むことで使えたので、これはこれでいいかなと思ってます。ただ、自動更新が無効になると思われるので、定期的に更新を確認する必要があるかなと思います。この辺の更新を通知してくれる拡張機能が Chrome Web Store にあれば最高ですね。自分で作ってもいいですが、 Chrome Web Store 上でホストするために $5 必要ってのがどうにも受け入れられないので、公開はできません。
本エントリーでは、 Tampermonkey の使い方や zip 解凍した拡張機能の読み込ませ方など細かいことはあえて書きません。最近はそういった手順を事細かに解説して PV を稼ぐサイトもあるので、そちらを参照されるのがよいでしょう。
自作のスクリプトについては、順次 Tampermonkey 向けに改良していくつもりです。
リフレクションでJavaBeansを作る系の脆弱性の話
JavaBeansに対するリフレクションとClassLoader脆弱性 - ひがやすを blog などなどで触れられている今回のStrutsに始まった脆弱性の話ですが、BeansUtil系に限らず、文字列(XML/JSON)からJavaBeansを作る系のライブラリも危ないのでは?なんて思ってます。
独自のBeansUtilを持っているSpring Frameworkについてはざざっと
- spring-framework/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java at 3.2.x · spring-projects/spring-framework · GitHub
- spring-framework/spring-beans/src/main/java/org/springframework/beans/CachedIntrospectionResults.java at 3.2.x · spring-projects/spring-framework · GitHub
を見てみましたが、なんかやばそうな気がしました。そもそも、見るのがここで合ってるかわかりませんが。
それと、JSONIC-1.3.3のソースもチェック。
- ファイル詳細: /tags/v1.3.3/jsonic-1.3/src/net/arnx/jsonic/JSON.java (head) - jsonic (svn) - JSONIC - SourceForge.JP
- ファイル詳細: /tags/v1.3.3/jsonic-1.3/src/net/arnx/jsonic/JSONReader.java (head) - jsonic (svn) - JSONIC - SourceForge.JP
正直わからん。なんとも言えない。