iPhoneのカメラでプライバシー情報ダダ漏れだった
iPhoneで撮影した画像(おもに赤ん坊)をここにたくさん掲載していたが、同僚がExif ViewerというFirefoxのプラグインを見つけて画像情報を見たら、撮影場所の位置情報が見れたというので驚いた。スクリーンショットを保存したつもりができていなかったようで見せられないが、GoogleMapにリンクまで作成してくれるので見事に自宅の場所までわかる。
iPhoneの仕様ではメールでの送信などではGPS情報を削除しているようだが、iPhotoで同期した画像からは消えないので、そのままブログに掲載すると予期していない情報を公開してしまう可能性がある。
というわけで、jheadを使ってデータを修正した。
#!/bin/sh FIND=/usr/bin/find EXIFTOOL=/usr/bin/exiftool JHEAD=/usr/bin/jhead PATH=$1 $FIND $PATH -type f | while read FILE do RESULT=`$EXIFTOOL -gps:GPSLatitude $FILE` if test -n "$RESULT" then $JHEAD -purejpg $FILE echo $FILE fi done
WordPressのアップロード用ディレクトリにある画像ファイルに一括でjhead -purejpg path/to/file.jpgを実行してExifデータを削除しておけば間違いはない。元の画像は別にあるので問題ないだろう。今後もアップロードしてしまうことがあるだろうから、とりあえずcronでチェックすることにする。
Peclのspidermonkey
jsが入っているのにJavascriptのインタプリタ以外に使い道がないなあ、と思っていたらPeclにspidermonkeyというのが追加されていた。検索するともう記事が見つかったりして、楽しそうなのでさっそくインストール。PHP5.3beta0以上が必要なので、テスト環境のPHPもついでに更新。php.iniのextension_dirを
extension_dir=/usr/lib/php/exntesions/no-debug-non-zts-20090115
のように更新しておかないといけない。
で、pecl install spidermonkey-alphaを実行したら見事にこける。ヘッダファイルjsapi.hがないとのこと。でもそのファイルは/usr/include/直下にある。で、手動でspidermonkey拡張モジュールをダウンロードしてconfigureの中身を見ると、
for i in $PHP_SPIDERMONKEY /usr/local /usr; do for j in js mozjs; do test -f $i/include/$j/jsapi.h && SPIDERMONKEY_BASEDIR=$i && SPIDERMONKEY_INCDIR=$i/include/$j && SPIDERMONKEY_LIBNAME=$j && break done test -f $i/include/$j/jsapi.h && break done if test -z "$SPIDERMONKEY_INCDIR"; then { { echo "$as_me:$LINENO: error: jsapi.h not found. Please reinstall libjs." >&5 echo "$as_me: error: jsapi.h not found. Please reinstall libjs." >&2;} { (exit 1); exit 1; }; } fi
こんな箇所があり、spidermonkeyのヘッダファイルは/usr/includeか/usr/local/include直下ではなくその下のjsかmozjsディレクトリでないといけないらしい。なんなんだ。以前spidermonkeyをインストールしたときの手順に問題があるんだろうか。
まあ、ヘッダファイルはみんなjs*.hという名前だったので、さくっと
# mkdir /usr/include/js && cd /usr/include/js # for i in `ls ../js*.h`; do ln -s $i `echo $i | sed "s/..\///"`; done # pecl install spidermonkey-alpha
適当なことをやって、ようやくインストール完了。ちなみにmozjsにするとやっぱりpeclからのインストールは出来なかった。なぜだ?
GreasemonkeyとWindowsでちょっと困った
Windows環境だと、Greasemonkeyのスクリプト編集がちゃんと動かないのでちょっと困っている。
Greasemonkeyで管理するスクリプトのパスは
C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\randomblahblahblah.default\gm_scripts
以下に保存されるのだが、「ユーザ名」が全角文字だとちゃんとパスを処理できなくて、スクリプトの編集などが出来ない。直接ここを開いてファイルを編集すると問題なく動作する。
ちょっと困っている。