Jeans & Development:2007年 11月の記事

PHP 5.2.4 [プログラミング]

2007年11月27日

Zend による PHP4 のサポートが年内で終了することに伴い、このサイト(kandk.cafe.coocan)で使用している PHP のバージョンを、5.2.4 に上げました。問題なく動くと思いますが、もし不具合を発見されましたら、e-mail か、Nucleus フォーラムのプライベートメッセージで連絡いただければ、嬉しいです。

CSRFとリファラについて [プログラミング]

2007年11月26日

ちょっと遅い情報なのだけれど。以前は多くのサイトで、リファラ(PHPでは、$_SERVER['HTTP_REFERER'])を利用したCSRF対策について有効とされていた。ところが最近(1年ほど前から)では、これが使えないということになっているようだ。

理由としては、Flashを用いると、リファラを偽装してサーバにアクセスできるため。Flashのどのバージョンからそうなのかは、調べていないので不明。いずれにせよ、リファラのみでのCSRF対策は出来ない。

当然であるが、リファラを調べたほうが、調べないよりもよっぽど良いのは確か。

自戒の意味で、メモ。

NP_R2Referer [Nucleus]

2007年11月19日

公式Wiki本家フォーラムを見ていて思いついたプラグイン。

ログイン/ログアウトした直後に、リファラにリダイレクトするだけ。リファラが管理ページの場合/リファラが設定されていない場合/リファラがログアウトページの場合、リダイレクトは行わない仕様。需要があるようなら公式Wikiに載せますけれど、どうでしょう?

正規表現でHTMLコメントを取り除くには [プログラミング]

2007年11月19日

HTMLコメントを削除する方法

2008/02/19 改定
<pre><?php
$html='outside <!--[inside]--> outside <!--[inside]--> outside';
echo htmlspecialchars(preg_replace('/<!--[\s\S]*-->/','',$html));                  // 1)
echo '<br />-----<br />';
echo htmlspecialchars(preg_replace('/<!--([^-]|-[^-]|--[^>])*-->/','',$html));     // 2)
echo '<br />-----<br />';
echo htmlspecialchars(preg_replace('/<!--(([^-]|-[^-]|--[^>])*)-->/','$1',$html)); // 3)
echo '<br />-----<br />';
echo htmlspecialchars(preg_replace('/<!--(([^-]|-[^-]|--[^>])*)-->/','$2',$html)); // 4)
echo '<br />-----<br />';
echo htmlspecialchars(preg_replace('/<!--[\s\S]*?-->/','',$html));                 // 5)

NP_Multilingual [Nucleus]

2007年11月18日

多国語表示プラグインがどうやら出来たみたいだ。50行に満たない長さだけれど、予定していた機能は一通り実装している。

始めは、どのような言語を使うかというところについて、プラグインオプションで設定できるようにしようかと考えたけれど、PHPファイルを直接書き換えて設定するようにした。自分自身で使う場合は日本語(ja)と英語(en)だけだし(デフォルトの状態)、他の人が使う場合でもインストールの際に一度きり設定するだけだろうから、これでよいだろう。

とりあえずこのブログにインストールして、少し使用した後に、公式サイトのWikiに上げる予定。

多国語表示プラグイン [Nucleus]

2007年11月18日

ちょっと思うところあって、多国語表示プラグインを考えてみたい。具体的には、URLに

index.php?lang=ja
index.php?lang=en

などとすると、それぞれの言語を用いてブログを表示するというもの。実は、よく似たことをちょこっとやっていたりするのだが(これと、これ)、今のものはどうも使いにくくて、拡張性も低いので、改めて開発することにする。

MakeExeと暗号化について [プログラミング]

2007年11月16日

Vectorから配布されているMakeExeと暗号化技術の関連について。

e-mailで質問がありましたので、標記の件についてこちらにも掲載しておきます。以前書いたこととも関連しますが、MakeExe で作成したファイルに含まれるコードの暗号化についてです。

MakeExeには、暗号化の技術はまったく含まれていません。これは、現在までに配布した全バージョン(0.2.1 とそれ以前)に当てはまることですし、今後のバージョンでも暗号化技術を導入する予定はありません。ですので、MakeExe及びこれを用いて作成したexeファイルについて、例えばアメリカ合衆国が定めている128ビット長以上の暗号化技術に対する輸出入規制などには制約されません。

何らかの理由でソースコードを隠蔽したいときは、マイクロソフトが配布しているスクリプトエンコーダを使ってください。VBEもしくはJSEにファイル変換した後にMakeExeを利用すると、これを行うことが出来ます。このような方法で作成したexeファイルを輸出入する場合は、スクリプトエンコーダの暗号方式のビット長を参考にして、各国の法律に注意して行ってください。

MakeExeはLGPLのライセンスの元で配布していますので、改変して暗号化機能を持たせることは可能です。そういった場合は、当たり前のことですが、改変したソフトウエアに関する責任の所在をはっきりと表示していただければと思います。改変したソフトウエアを公開する場合は、LGPLもしくはGPLライセンスを適用する必要があります。詳しくは、MakeExeに同封しているライセンス関連の文書をご覧ください。