T

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

以下に保存されるのだが、「ユーザ名」が全角文字だとちゃんとパスを処理できなくて、スクリプトの編集などが出来ない。直接ここを開いてファイルを編集すると問題なく動作する。

ちょっと困っている。