詳しく原因まで追究できていないんだけど、誰かの役に立てばと思いアップ。
PHP 5.2.6 で動作していた imap_open() が、PHP 5.3.2 になると動かなくなった。
#!/usr/bin/php -q
#PHP 5.2.6 のサンプルコード
<?php
$mailserver = "example.com";
$mbox = imap_open("{".$mailserver.":110/pop3/notls}INBOX", "user@".$mailserver, "password", "OP_READONLY");
var_dump($mbox);
if ($mbox) {
imap_close($mbox);
}
?>
PHP 5.2.6では、このコードはエラーなく動く。
PHP 5.3.2では、以下のエラーになる。
PHP Warning: imap_open() expects parameter 4 to be long, string given in ...
文字列(”OP_READONLY”)が整数(OP_READONLY)に変わったようだ。
ここを修正してもエラーになる。
PHP Warning: imap_open(): Couldn't open stream {mail.example.com:110/pop3/notls}INBOX in ...
bool(false)
PHP Notice: Unknown: Read-only POP3 access not available (errflg=2) in Unknown on line 0
POP3のリードオンリーはダメみたいだ。
しかたがないので、pop3は使わず、imapにしたらうまくいった。
#!/usr/bin/php -q
#PHP 5.3.2 のサンプルコード
<?php
$mailserver = "example.com";
$mbox = imap_open("{".$mailserver.":143/imap/notls}INBOX", "user@".$mailserver, "password", OP_READONLY);
var_dump($mbox);
if ($mbox) {
imap_close($mbox);
}
?>
pop3もimapもサポートしてるメールサーバじゃないとダメだけど、一応解決ということで。
Detectify でサイトの脆弱性をチェックしてもらったら Warningがたくさん
TipsDetectifyというサイトがあって、無料で脆弱性のチェックをしてくれる。
登録の仕方等の使い方は、こちら「あなたのWebサイトの脆弱性を調査してくれるサービス『Detectify』」が詳しい。
Scan Startして3日ほどで結果を返してくれる。
試しにうちで管理しているサイトのひとつを調べて見たら、以下のような結果に。
0 Exploits Found / 24 Warnings Found / 222 Notices Found
危ない(Exploits)はゼロでよかったが、注意(Warnings)が24もあるのは気になる。
今日はこれをつぶしていこう。
URLの最後に「?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000」これを付けると、phpinfo()が表示されてしまうという、ちょっとしたTips。設定ファイルとか、なんのLIBが有効かなどがわかると侵入者に手がかりを与えかねないのでこれはふさいでおこう。
「/etc/php5/apache2/php.ini」に「expose_php = On」があるので、これを Offにして完了。
※参考> [PHP]phpinfo()に関する小ネタHack
ApacheのレスポンスにOSが出ているよという警告。これも隠しておこう。
「/etc/apache2/conf.d/security」の「ServerTokens Prod」と「ServerSignature Off」で Serverは「Apache」だけになる。
※参考> 【Apache】HTTPヘッダの確認方法とセキュリティ対策(レスポンスヘッダの変更方法)
ディレクトリ一覧(ファイル一覧)が見えてるところがあるよという警告。これはつぶしておく。
「/etc/apache2/conf.d/security」に「Options Includes ExecCGI FollowSymLinks」を追加。
これ自体は、CGIとシンボリックリンクの許可だが、明示的に Optionsを指定することで「Indexes」(ファイル一覧)を禁止することになる。
※参考> 第2回 ディレクトリ非表示の意味をもう一度見つめ直す
HttpOnlyクッキーにしないと、javascript等から読みだされてしまうよということなんですが、変更したときの影響がよくわからないので、ペンディング。
オートコンプリートが Onになっていると危ないよという指摘だが、これは使い勝手とのトレードオフになるので、このまま放置。
※参考> HTML でオートコンプリートをオフにする方法
WordPressのログイン画面が httpなので、これをSSL(https)にしなさいという指示。
wp-config.phpに「define(‘FORCE_SSL_LOGIN’, true);」を追加するだけでできるのだが、SSL証明書を用意したり、他のお客様(マルチドメインで運用しているので)への影響を考えてペンディング。
※参考> Administration Over SSL
og:typeを restaurantにしてデバッガーでエラーがでるときの対処
Facebookお客様のサイトのFacebook対策をしているときに遭遇した件。
レストランのFacebookページなので、素直にこうしたわけですが、Facebookデバッガーで確認するとエラーがでます。
「meta property=”og:type” content=”restaurant”」
食べログなども出るので、まだ一般的に対処していないのかも。
このエラーは、お店の緯度・経度を設定するとでなくなります。
緯度・経度はこちらで調べられます。
「meta property=”og:latitude” content=”35.320265″」
「meta property=”og:longitude” content=”139.550999″」
Facebookロゴは使用禁止!
Facebookhttps://www.facebook.com/brandpermissions/logos.php
ここによると、Facebookのロゴは使ってはいけないそうです。
いいね!とか、Fだけのものを使ってねということ。
でもそれだとわかりづらいので、こちらを参考に自分で作ってみました。
Tahoma, Bold, シャープ、横106%、縦100%、→あ←100%、←AV→10 です。
似てるでしょうか?
imap_open()のエラー(phpバージョン違い)
Tips詳しく原因まで追究できていないんだけど、誰かの役に立てばと思いアップ。
PHP 5.2.6 で動作していた imap_open() が、PHP 5.3.2 になると動かなくなった。
PHP 5.2.6では、このコードはエラーなく動く。
PHP 5.3.2では、以下のエラーになる。
文字列(”OP_READONLY”)が整数(OP_READONLY)に変わったようだ。
ここを修正してもエラーになる。
POP3のリードオンリーはダメみたいだ。
しかたがないので、pop3は使わず、imapにしたらうまくいった。
pop3もimapもサポートしてるメールサーバじゃないとダメだけど、一応解決ということで。
個人輸入代行比較
Etc重さ約1kg(2LB)・大きさ小さめ・価格$50程度の商品を個人輸入する場合の手数料・送料比較
※ 換算レートは 1$=80円で計算。
※ いろいろあるけど、あとのところはパッとしない。
Windows7 Home PremiumでXpモードを使う
Tipsやりたいことはタイトル通りです。
お客様用に ThinkPad Edge E420を買ったのはいいのですが、このOSが「Windows 7 Home Premium 64」一択で他の選択肢はナシときた。
Office付きを買ったし、別にいいかと思っていたのですが、お客様がどうしても使いたい「文籍(MonJack)」というフリーのソフトが Delphiの32ビット環境で作られており、これがどうやっても動かない。
じゃあ、XPモードでとなるわけですが、Home Premium には XPモードがないよーというわけです。
手順はこんな感じです。
エディションは「Professional 64ビット版」とかを選んでおくこと。Homeだと選択肢がでない。
2番目にインストールの「Virtual PC Download」をクリック。
インストールは「更新プログラムのインストール」みたいになるので、一瞬アレっとなるけど、終わってスタートメニューを見るとちゃんと入っている。
ここでちゃんとしたXPが必要になります。(うちには使わなくなったXPがごろごろしているので問題ありませんが)
メモリー容量はあとで変えられます。
CDドライブにXPのインストールCDをセットして、作成した仮想マシーンをダブルクリックし、通常通りXPをインストール。
一番の問題はパーテションを切るとき、ケチって 10GBとかにしないこと。SP3までアップグレードしたらだいたい10GBがいっぱいになります。20~30GBくらいは切っておきましょう。
仮想マシーンの「ツール」メニューから「統合機能を有効にする」をクリックする。
あとは、仮想マシーンの「設定」メニューでドライブ割り当てなどを適宜行う。
ケチって10GBとかにした場合のパーテション拡大方法は、仮想ハードディスクのサイズを拡大する に書いてある通り。
注意点としては、VHD Resizerで拡大するとき、Fixed(容量固定)を選択すること。Dynamic(容量可変)だとうまくいかなかった。
また、できあがった「.VHDファイル」を仮想マシーンの「設定」メニューで 2台目のハードディスクとしてマウントすること。
そしてパーテション拡張が終わったら、1台目のハードディスクとしてマウントすればOK。