PayPal決済モジュールはチェックが甘い? PayPal決済モジュールは支払先のメールアドレス(receiver_email)の正当性しかチェックしていない。 支払われた金額のチェックを行っていないため、(ポストされる内容を変更など)不正な金額を支払ったとしても入金済みにしてしまう。 PayPalから届く入金確認メールの金額と違っていないか確認する必要がある。 また、支払い済みのトランザクションIDの記録やチェックも行っていないため、不正利用される可能性もあると思われる。 (たしか)PayPalからダウンロードしたPerlのサンプルスクリプトにもレスポンスが VERIFIED の場合以下のチ […]
IPベースのバーチャルホストを利用する場合、NICをIPアドレス分増設するか、1つのNICにIPアドレスを複数割り当てるか、という方法がある。 NICの増設など物理的な変更をしないで済むので、VIFを使ってみる。 ※各名称について - VIFとかIPエイリアスとか仮想インターフェイスとかは正確な名称かは分からない。 webmin にて仮想IPアドレスを追加する方法 なお、eth0 は IPアドレス 192.168.1.100 ネットマスク255.255.255.0 とし、追加する仮想インターフェイス(eth0:1)に設定するIPアドレスは 192.168.1.101 ネットマスク255.255 […]
Apache でIPベースのバーチャルホストを使う場合の注意点 VirtualHostディレクティブを利用する。VirtualHostディレクティブは、 <VirtualHost IPアドレス> ~ </VirtualHost> のように記述し、これが1ホスト分のブロックとなる。つまり、バーチャルホストでホスティングしたいホストの数だけ、このブロックを記述すればよい。 IPベースで注意する点は、<VirtualHost IPアドレス>のIPアドレスを各ブロックで異なるものにしなければならないということである。Apacheは、このIPアドレスでホストの設定のブ […]
PGDGレポジトリを追加する 純正レポジトリに postgresql を上書きされない様に無効化しておく。 /etc/yum.repos.d/CentOS-Base.repo を編集のうえ、[base]と[update]のそれぞれのセクションに、 exclude=postgresql* を追記する。
DNSラウンドロビン? DNSのAレコードに A www 111.222.333.444 A www 555.666.777.888 と同じドメインに複数のIPアドレスを設定するとアクセスの度にローテーションしてIPアドレスを返してくれる。 これを用いて負荷分散などに利用出来る。 サーバダウン時にはどうなる? 古い文献によると、例えば上の例だと 111.222.333.444 のサーバがダウンしていると繋がらないとあるが、ブラウザ次第のようだ。 Macでの確認は Safari ok FireFox ok Google Chrome ok Opera ng 他のWebサイトでもOperaはNGだ […]
GD のインストールに散々悩んだあげく、あきらめかていたけど、 http://tech.hitsug.net/?CentOS%2FPerlモジュール このページに rpmforge レポジトリを使った yum でのインストールが載っていたので試したら一発で出来た。。。 yum --enablerepo=rpmforge install perl-GD いろいろな要因があるのだろうけど。
Email::Valid http://search.cpan.org/~rjbs/Email-Valid-0.184/lib/Email/Valid.pm 現在でも更新されている感じのモジュール。携帯向けに Email::Valid::Loose と言うモジュールもある(有名なMIYAGAWAさん作)通常ならばこのモジュールでいいと思う。 Mail::CheckUser http://search.cpan.org/~ilyam/Mail-CheckUser-1.21/CheckUser.pm Data::Dumper の作者らしい。18 Sep 2003 となっているので更新はだいぶ前。で […]
IEの6,7,8を判別するJavascript JavaScriptでIEかどうかをたったの1行で判別する方法 この両者のスクリプトを合わせてみた。 ライブラリを使いたくない(or使えない)状況で役に立つかも。 ちなみに「IEの6,7,8を判別するJavascript」のコードは間違っていたので少々修正。 if (typeof document.body.style.maxHeight != "undefined") { if (!/*@cc_on!@*/false){ // Not IE. alert('Not IE.'); }else if (document.documentMode & […]
相変わらずクソな実装のIE。 他のブラウザで全部動くのにIE 7.0 以下の挙動はホントにクソ。 先人の方々に感謝感激雨あられですわ。 IEでのgetAttribute,setAttributeのバグ // NG element.getAttribute("class"); element.setAttribute("style", "background-color: #fff; color: #000;"); element.setAttribute("onclick", "clickHandler(event);"); // OK element.getAttribute("classN […]
以前に配列をシャッフルの記事( https://perl.no-tubo.net/2010/01/08/pelrで配列をシャッフル/ )を書いたのだけれど、その時にコメントで List::Util を使いましょうよ、と頂いた。 そういうものもあるのか、と思っていたのだけれど理由があったので軽く調べてみた。 perl を書く時には配列処理と言うのはよく使うので、メモとしてエントリー。 配列処理をするモジュール List::Util 配列処理に置いて同じような処理は自前で書いても書けない事は無い。ただし、コアモジュール List::Util は C(XS) で実装されている(?)ので多量の処理にな […]