Kenichi Maehashi's Blog
脳内コアダンプ
ブログのコメントに reCAPTCHA を実装してみた
Saturday | May 23, 2015
|
ブログの SPAM コメントが増えて困っていたので、Google の reCAPTCHA を導入してみた。 2014 年 12 月に公開された新版 reCAPTCHA では、場合によってはチェックボックスをクリックするだけで(画像認証を行わずに)bot と人間を識別してくれるため便利です。
Web サイトに reCAPTCHA を導入するのは至って簡単で、- Google の reCAPTCHA ページで API key を発行
- Web ページに JavaScript ライブラリを読み込み、form 要素内に reCAPTCHA 領域表示用の div 要素を追加
- サーバ側で、POST パラメタ (g-recaptcha-response) を reCAPTCHA API サーバに投げて認証結果を取得
という手順。
|
| コメント (0)
|
XDC2015 サマリ
Sunday | May 10, 2015
|
年に一度のお祭り XDC (Xojo Developer Conference) が終わったので 公式ブログ、BKeeney Briefs など情報が色々出てきています。 2015r3 で ARM サポートの追加 (Raspberry Pi で動く!)、64-bit ビルドを Mac/Windows/Linux の全プラットフォームでサポート、Retina サポート、Xojo Cloud が価格据置きで性能が倍に、Xojo 言語でのプラグイン開発のサポート (今までは C++ only だった) などが発表されたとのこと。
|
| コメント (0)
|
Xojo Call Tracer という小さいモジュールを書いた
Monday | May 4, 2015
|
Xojo のメソッド/イベントコールの直前に関数を inject するための小さなモジュール xojo-call-tracer を書いた。ちょっと筋悪ですが。 デフォルトではコールされた関数名をログに吐く関数が inject されるようになっていますが、例えば以下のようなコードに書き換えれば Thread ID やタイムスタンプを合わせて出力するなど、いろいろ使えます。
Sub Trace(methodName As String) Dim d As New Date() Dim t As Thread = App.CurrentThread Dim tId As String = If(t = Nil, "0", Str(t.ThreadID) + "(" + t.DebugIdentifier + ")") System.DebugLog( _ "[" + d.SQLDateTime + "] <" + tId + "> CALL_TRACE: " + _ methodName + EndOfLine) End Sub
|
| コメント (0)
|
Mac と Linux で Layer 2 VPN over SSH
Sunday | May 3, 2015
|
久々にインフラネタ。モバイルの Mac と別拠点の LAN を Bonjour で接続したかったので、SSH を使った L2 トンネルを作った。 (背景: Bonjour プロトコルはルータを超えないように設計されており、IPIP や L2TP/IPsec VPN (PPP) などの L3 トンネルでは疎通できない。)
接続元は、Mac (tuntaposx をインストールしておく)。 接続先は、別拠点 LAN 上に存在する SSH サーバ (RHEL 6)。
手順は以下の通り。 - 接続先サーバの sshd_config に PermitTunnel ethernet (or yes) を設定した状態で OpenSSH サーバを起動する。
- 接続先サーバに仮想ブリッジを作成し、そのブリッジに Bonjour で共有したいネットワークの NIC を追加しておく。
- 接続先サーバに、ユーザ権限を付与した仮想 Ethernet NIC (tap デバイス) を作成し、その tap デバイスを仮想ブリッジに追加する。
# tunctl -u kenichi -p Set 'tap0' persistent and owned by uid 1000 # brctl addif br0 tap0 # ifconfig tap0 up - クライアント(Mac)側で、SSH 接続を行う。-w は使用するローカル/リモートの tap デバイス番号 (または any) を指定する。これでトンネルが確立する。
# sudo ssh -o Tunnel=ethernet -w 0:0 kenichi@ssh.example.com - クライアント(Mac)側で、tap デバイスに IP アドレスを振るか、DHCP を有効にする。
# sudo ipconfig set tap0 DHCP これで、接続先サブネット上の iTunes が Bonjour で見えるようになるので、ホームシェアリングが使えます。 iTunes Match を使わずとも、WAN 経由で iTunes ライブラリを共有できるので便利。
(追記: 2015/05/24) RHEL 7 であれば、tunctl の代わりに ip tuntap add mode tap user kenichi、ifconfig の代わりに ip link set tap0 up。
(追記: 2016/01/01) ssh コマンドの引数順序を修正。 (-w 0:0 -o Tunnel=ethernet → -o Tunnel=ethernet -w 0:0) El Capitan では修正後の順序でないと channel 0: open failed: administratively prohibited: open failed というエラーが表示され正しく動作しないかった。
|
| コメント (0)
|
Lyrics Master 2.4.4
Saturday | May 2, 2015
|
最新版 v2.4.4 を本日リリースしました。 今回もメンテナンスリリースです。各歌詞サイトの最新仕様への対応を行いました。 ダウンロードはこちらから。変更点について詳しくは更新履歴をご覧ください (Mac OS X / Windows)。
LM 3.0 について: 4月末のベータテスト開始を目指して開発を進めていましたが、おおよその形は出来上がったものの、現時点で公開できる品質に達していないため、スケジュールを見直したいと思います。あらためてアナウンスします。
|
| コメント (0)
|
<< 前ページ[1]
トップページに戻る
Copyright © 2006-2021 Kenichi Maehashi, All Rights Reserved.