しばらく見ていなかったらWordPressがハッキング…

こちらのブログをしばらく更新していませんでした。WordPressが4.7.1から4.7.2となり、他サイトのWordPressの更新をしていた所、こちらのWordPressの更新を見ると「Hacked By GeNErAL」の投稿が。

おそらくWordPressのバージョン更新していなかった事が原因で、なりすましの投稿が行われたのでしょう。

早速、パスワードの変更、自動更新の設定を行いました。

400 Bad Requestを.htaccessでは処理できない

WordPressで日本語URLを使っている場合、URLが以下のようになります。

http://takahitokikuchi.poitan.net/2013/05/30/%E3%83%AA%E3%82%AF%E3%83%AB%E3%83%BC%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89%E3%83%97%E3%83%A9%E3%82%B9%EF%BC%88jcb%EF%BC%89%E3%82%92%E7%94%B3%E3%81%97%E8%BE%BC%E3%81%BF/

%E3%83のようになり、この%**の問題で、「400 Bad Request」と表示されるということを書いたことがあります。これは、リンク自体を修正することでエラーにならないようにしましたが、外部のリンクの場合はリンクを修正することはできません。

続きを読む

Postfixでメール受信後にPHPプログラムで処理を行う(3/3)

前回まででPostfixの設定は終了しているため、PHPの処理を書いて行きたいと思います。

11. mimeDecode.phpのインストール

メールを処理するのは大変ですので、mimeDecode.phpを使います。下記のコマンドでインストールして下さい。私の環境ではpear install Mail_MimeDecodeを行わなければmimeDecode.phpがインストールされませんでした。

# pear install Mail_Mime
# pear install Mail_MimeDecode

12. test.phpの作成

Postfixの設定でtest.phpにメールを渡すため、test.phpを作成します。

$ vi /home/script/test.php

ファイルの内容は他のサイトで詳しく書かれていましたので、そちらのリンクを参照して下さい(参考:stdinからのメール処理でメール情報を取得する)。

参考URLの補足として、Toを取得する場合は下記のようになります。

$to = $structure->headers['to'];

 

Postfixでメール受信後にPHPプログラムで処理を行う(2/3)

前回はPostfixのインストールまで行いましたので、今回はPostfixの設定まで行います。

6. ユーザを追加

バーチャルドメインで受けたメールを処理するユーザを追加します。

# groupadd -g 10000 vuser
# useradd -u 10000 -g vuser -d /var/spool/postfix/vhosts vuser
# chmod 771 /var/spool/postfix/vhosts

続きを読む

Postfixでメール受信後にPHPプログラムで処理を行う(1/3)

このブログはポイントやマイルに関する記事よりも技術的な記事のほうがアクセスが多いようで、微妙なブログになりつつあります…。

メール受信後にPHPで処理を行うプログラムを何度か作って来ましたが、毎回何度も設定を見直し、ようやく動くようになるということを繰り返してきましたので、そろそろ備忘録的にもこの設定をやれば動くという事を残しておこうと思います。

解説範囲は、メールサーバをSendmailからPostfixに変更し、メール受信後にPHPで処理し、送信元アドレス、送信先アドレスを取得するところまで行います。

続きを読む

Windows版PHPでコマンドライン処理だけを行う

PHPPHPの便利なところは、コマンドラインの処理が可能なところです。通常はApache等のWebサーバのモジュールとして動かして利用しますが、コマンドラインで実行可能なため、cronを設定することにより、特定の時間にバッチ処理を行うことも可能です。ポイ探や買いログでも、cronでのバッチ処理は多く利用しています。

今回は、大量のログデータの処理を行う必要があり、そのファイルをどのように処理するかを考え、契約しているサーバで実行するよりもWindowsクライアントで実行できないかと考えました。実行するためにはWebサーバは不要ですので、PHP単体でインストール・実行可能かを検証してみます。

続きを読む