Archive for the ‘PHP’ Category

WordPress 不正アクセス処理追加

木曜日, 9月 26th, 2019

WordPress不正アクセス処理追加

wordpressは毎日不正アクセスがあります。
パスの中や、クエリー(?より後ろの部分)に()で記号を入れたり、\\(円マーク)でコマンドを入れたり、世界中のハッカー達のターゲットになっているようです。
今回は「/」が沢山入っていて、カウントのページがうまく表示できなくなってしまいました。
自分のページは「?p=**」のURLなので、「/」は必要ありません。全てカウントしないことにしました。

アクセスカウント用の「abc.php」に以下の2行を追加します。

$ari = strpos_s($pname,"/",0);
if ($ari>=0) $pname = 'blog_/';

wordpressからabc.phpを呼び出すのには、
テーマの編集
メインインデックスのテンプレート (index.php)
上の方のスクリプトエリアの「get_header()」の上に「abc.php」の場所を記述します。

include __DIR__ . '/../***/***/abc.php' ;
get_header(); 

これで「/」の入ったアクセスはまとめて「blog_/」として、合計だけDBに書き込まれます。

PHP – ログファイルを書く

水曜日, 9月 11th, 2019

ログファイルを書く

今回PHPページからリモートのデ-タベースの読み込みの不具合がありました。
修正をしようと思いましたが、不具合の履歴がないため、思いの他苦労しました。
そこで、修正ついでに、エラーや失敗のログを書くルーチンを作成しました。
PHPでは、ファイルの書き出しが意外と面倒です。
特にフォルダの指定が面倒だったので、それを書いておきます。
ログの書き出しには、error_log()というPHPの関数を使用します。
何も指定しないと、PHPにエラーが起きた時この関数が、プログラムのあるフォルダに「error_log」というファイルを作成し、そこにエラーの内容が書かれます。
ここでは、引数3を指定して、フォルダとファイル名を指定し、自前のテキストを書き出すようにします。
フォルダの指定は、$_SERVER[‘DOCUMENT_ROOT’]を使って、必ずルートを指定します。
そうしないと、どこに書かれるか、分かりませんので注意が必要です。
特に相対ディレクトリはよく分かりませんので、興味のある方は、自身で試してみてください。
logフォルダを指定する場合は、$_SERVER[‘DOCUMENT_ROOT’] .’/log/log.txt’となります。
これにより、どのフォルダからも一つのログファイルに書き込むことができます。
mylog_s()では、頭にtime()を使って、ログの時刻を書き出しています。
error_log()関数は、ログファイルにテキストを追記していきますが、改行は自分で行う必要があります。
$message .= “\n”;


  function mylog_s($message){
    $ji = dtxt_s(time());
    $txt = $ji . " " . $message .= "\n";
    error_log($txt, 3, $_SERVER['DOCUMENT_ROOT'] .'/log.txt');
  }

ffftp phpファイルが文字化け

phpファイルは、ffftpを使ってサーバーにアップロードしています。
最初は、自分のPCの原本を修正して、アップするだけだったので、問題ありませんでしたが、今回はサーバーからダウンロードしたファイルを修正してアップロードしました。
ここでphpファイルがエラーを起こしました。調べてみるとファイルサイズがかなり大きくなっていました。
それをダウンロードして開いてみると、完全に文字化けを起こしていました。

ffftpの
接続>ホストの設定>文字コード>ホストの漢字コード
「無変換」を「UTF-8」にすることで、解決しました。