WordPressのコアに脆弱性が確認されたとかで、取り急ぎ更新を行いました。
ついでにPHPのバージョンも上げました。
更新:「Amazon Pay」の支払手続きをTampermonkeyで自動承認するスクリプト
AmazonPayの承認画面が変更になり、従来のスクリプトでは動かなくなりました。
通常のフォームタグではなく、疑似要素を使用したものになり、時間差で内容が更新されるなど、よくわからない仕様になっています。
いろいろ眺めていたのですが、埒が明かなかったのでAIに丸投げしました。
以下のコードで承認を自動化できます。
// ==UserScript==
// @name クリックポスト(AmazonPay):step2:決済(AmazonPay側)
// @namespace http://tampermonkey.net/
// @version 2026-05-30
// @description 「続行」テキストの外側にあるrole="button"を自動でクリックします
// @author You
// @match https://*.amazon.co.jp/checkout/*
// @grant none
// @run-at document-end
// ==/UserScript==
(function() {
'use strict';
// クリック処理を実行する関数
function tryClickContinue() {
// 画面上のすべての role="button" を取得
const buttons = document.querySelectorAll('[role="button"]');
for (const button of buttons) {
// ボタンのテキスト、または子要素のテキストに「続行」が含まれているか確認
if (button.textContent && button.textContent.includes('続行')) {
// すでに非表示、または無効化されている場合はスキップ
if (button.offsetWidth === 0 || button.offsetHeight === 0) continue;
console.log('「続行」ボタンを検出しました。クリックイベントを発火します。', button);
// クリックイベントの生成と発火(React等のフレームワークによる制御に対応するためバブリングを有効化)
const clickEvent = new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: window
});
button.dispatchEvent(clickEvent);
// 1度実行したらこの周期のループは抜ける(必要に応じて監視を止める場合は observer.disconnect() を実行)
break;
}
}
}
// Next.jsなどのダイナミックレンダリングに対応するため、定期的にDOMを確認
const intervalId = setInterval(() => {
tryClickContinue();
}, 500); // 0.5秒ごとにチェック
// ページ遷移等で無限に動き続けるのを防ぐため、一定時間(例: 30秒)で監視をクリアすることも可能
setTimeout(() => {
clearInterval(intervalId);
}, 30000);
})();
クリックポストの支払いで使用していますが、理論上は他のシステム経由でも動くとおもいます。
更新:クリックポストで「Amazon Pay」の支払手続きをTampermonkeyで自動実行するスクリプト(AmazonPayサイト)
AmazonPay側にてアクセス毎に異なるHTMLコードが出力されることを確認しましたので把握したものを追加しました。
form外にsubmitボタンを置くとか正気ですか?
以下のものに差し替えてください。
// ==UserScript==
// @name クリックポスト:支払手続き完了(Amazon Pay)
// @namespace http://tampermonkey.net/
// @version 2026-01-19
// @description 支払手続き完了を実行します。
// @author penlabo
// @match https://clickpost.jp/amazon_pay/confirm?*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var target = document.querySelector('#payment_buttons > form input[type="submit"]');
if (target) target.click();
var target2 = document.querySelector('#continue-button input[type="submit"]');
if (target2) target2.click();
})();
更新:クリックポストで「Amazon Pay」の支払手続きをTampermonkeyで自動実行するスクリプト
前の記事から更新しました。
2026年より(?)HTMLコードが変更になっていますので、対応させました。
1つ目は変更無しです。
2つ目と3つ目を更新してください。
// ==UserScript==
// @name クリックポスト:一時保存(Amazon Pay)
// @namespace http://tampermonkey.net/
// @version 2023-05-01
// @description “内容品”が「/skip」ではないお届け先の“支払手続き”を自動で実行します。
// @author penlabo
// @match https://clickpost.jp/packages/list
// @grant none
// ==/UserScript==
(function() {
'use strict';
onload = function (){
var line = 1;
while (1) {
var elmTarget = document.getElementById('AmazonPayCV2Button' + line);
if (!elmTarget) return false;
var elmParent = elmTarget.parentNode;
var elmPrevious = elmParent.previousElementSibling;
var elmText = elmPrevious.innerText;
if (elmText != '/skip') {
elmTarget.click();
return false;
}
elmParent.style.backgroundColor = 'lightgrey';
line++;
}
};
})();
その後の手続きを実行するものも追記しておきます。
// ==UserScript==
// @name クリックポスト:決済(Amazon Pay)
// @namespace http://tampermonkey.net/
// @version 2026-01-06
// @description 決済を実行します。
// @author penlabo
// @match https://payments.amazon.co.jp/checkout?*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var target = document.querySelector('#continue-button > span > input');
target.click();
})();
// ==UserScript==
// @name クリックポスト:支払手続き完了(Amazon Pay)
// @namespace http://tampermonkey.net/
// @version 2026-01-06
// @description 支払手続き完了を実行します。
// @author penlabo
// @match https://clickpost.jp/amazon_pay/confirm?*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var target = document.querySelector('#payment_buttons > form input[type="submit"]');
target.click();
})();
これで全自動で処理が進みます。
POASの稼働環境がすべてPHP7に
昨日の更新で、POASがすべてPHP7の環境下での稼働に切り替わりました。
数年前の脱PHP5を考えていた頃に、CentOSが(いろいろな意味で)使えなくなる騒動があり、様子を見ている間に凄い年月が経ってしまっていました。
現在はAlmaLinuxが安心だということで、サーバを切り替えている途中でして、これでやっと一段落です。
POASとはPrintOrderAdministrationSystemの略で、要は印刷注文システムです。
更新停滞気味のサイトも用意しております。
※たまにサイトが移動します。どちらかでアクセスできるはずです。
印刷業者や新規参入の方、印刷注文のウェブ受注を始めたいと興味を持たれた場合はご連絡ください。
現時点の開発環境では、PHPのバージョンを5か7かを判定する分岐が残っていますので、これをすべてPHP7ように最適化してPHP5までのコードを完全に削除される予定です。
他にも色々最適化は行っており、運営しながらあーでもない・こーでもないとシステムを弄りまくっておりますので、更新のたびに不具合が直ったり逆に増えたりするかもしれません。
Gmailにメールが届かない
つい先日より、Gmailに送信できなくなる問題が発生しました。
SPF・DKIMを設定し、問題なく送信・運用できていたのですが、突然メールが送信できなくなる自体に。
Gmailから届くエラーメッセージは次の通り(一部編集済み)
The IP you're using to send mail is not authorized to send email directly to our servers. Please use the SMTP relay at your service provider instead. For more information, go to https://support.google.com/mail/?p=NotAuthorizedError (略)- gsmtp
英語力は壊滅なため、翻訳にかけてみました。
メール送信に使用しているIPアドレスは、我々のサーバーに直接メールを送信する権限がありません。代わりに、サービスプロバイダのSMTPリレーをご利用ください。
とのこと。
お宅のIPからは送信を受け付けないから他所中継して送ってみたら?
ということらしいです。
どうやら送信元のIPがブラックリスト入りした模様。
確認のため、BLACKLISTALERT.ORGにて、メール送信しているドメイン名を調べてみましたところ、ヒットしました。
「ips.backscatterer.org Listed! See why」
こちらでブラックリスト入りしたせいかもしれません。
This IP IS CURRENTLY LISTED in our Database. Please note that this listing does NOT mean you are a spammer, it means your mailsystem is either poorly configured or it is using abusive techniques. This kind of abuse is known as BACKSCATTER (Misdirected Bounces or Misdirected Autoresponders or Sender Callouts). Click the links above to get clue how and why to stop that kind of abuse. To track down what happened investigate your smtplogs near 28.04.2025 09:02 CEST +/-1 minute. You will either find that your system tried to send misdirected bounces or misdirected autoresponders to claimed but in reality faked senders, or your system tried sender verify callouts against our members near that time. So you should look for outgoing emails that have a NULL SENDER or POSTMASTER in MAIL FROM. Reading your logs carefully it shouldn't be a big deal to figure out what caused or renewed your listing. History: 15.12.2024 21:31 CET listed 11.02.2025 06:25 CET expired 25.03.2025 08:27 CET listed A total of 11 Impacts were detected during this listing. Last was 28.04.2025 09:02 CEST +/- 1 minute. Earliest date this IP can expire is 26.05.2025 09:02 CEST. This IP is temporary listed. The listing will expire automatically and free of charge 4 weeks after the last abuse is seen from that IP. Expedited manual expressdelisting is available as an option, in case you do not want to wait for the automatic and free expiration. You will be charged 89 CHF using the following payment service. WARNING: Before requesting expressdelisting make sure the problem which caused the listing is fixed, otherwise you are at risk to get listed again if new abuse becomes known.
翻訳しました。
このIP 現在リストされています 当社のデータベースに。 このリストはあなたがスパマーであることを意味するのではなく、あなたのメールシステムが適切に構成されていないか、悪質な手法を使用していることを意味することに注意してください。 この種の不正行為は、バックスキャッター(誤送信、誤送信、自動返信、送信者コールアウト)と呼ばれます。上記のリンクをクリックすると、この種の不正行為を阻止する方法と理由についてのヒントが得られます。 何が起こったのかを追跡するには、 2025 年 4 月 28 日 09:02 CEST +/-1 分付近の SMTP ログを調べてください。 システムが、送信元として主張しているが実際には偽の送信者に誤った宛先へのバウンスや自動応答を送信しようとしたか、またはその付近で、弊社のメンバーに対して送信者検証コールアウトを試行したことがわかります。 したがって、MAIL FROM に NULL SENDER または POSTMASTER が含まれる送信メールを探す必要があります。 ログを注意深く読むと、リストの更新またはリストの原因を把握するのはそれほど難しいことではありません。 歴史: 2024年12月15日 21:31 中央ヨーロッパ標準時 リストされている 2025年2月11日 06:25 中央ヨーロッパ標準時 期限切れ 2025年3月25日 08:27 中央ヨーロッパ標準時 リストされている このリスト中に合計11件の衝撃が検出されました。最終発生時刻は 2025年4月28日 09:02 CEST +/- 1分です。 この IP が期限切れになる最も早い日付は 2025 年 5 月 26 日 09:02 CEST です。 この IP は一時的にリストされています。 その IP から最後に不正行為が確認されてから 4 週間後に、リストは自動的に無料で期限切れになります。 自動で無料の有効期限が切れるまで待ちたくない場合は、オプションとして、迅速な手動による即時削除もご利用いただけます。 以下の支払いサービスを使用すると、89 CHF が請求されます。 警告: 即時リストからの削除をリクエストする前に、リストに載る原因となった問題が解決されていることを確認してください。そうしないと、新たな不正行為が判明した場合に、再びリストに載ってしまうリスクがあります。
リストから削除するには4週間待つか、89CHF(スイスフラン?)払えということのようです。
あぁ、ムリポ。
一応サーバの管理者には連絡しておこうかと思います。
メール送信の鯖を変更するしかなさそうですね。
プリントライ、ボットの攻撃を受ける
サイトが重く、管理ツールすらまともに開けない状態でした。
やむなく鯖を再起動してからすぐにログの確認。
httpdのアクセスログに大量のアクセスが記録されていました。
UserAgentを見ると、共通しているのが次のもの。
Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)
「MJ12bot」
というクローラのようです。
検索してみると、それなりに被害の報告が上がっていました。
一方、robots.txtを反映してくれるということなので、普通に拒否を設定して様子を見ることにします。
User-agent: MJ12bot Disallow: /
落ち着きますでしょうか?
自作ゴミ箱アイコン
POAS2鯖の移設開始
ぜんぜん記録に残していなかったのでメモ
POAS2鯖をリプレース中です。
OSはCentOS7からAlmaLinux9に、PHPは5から7に。
これでクレジットカード決済が可能になります。
まずは自分が管理するシステムを移動して、SSLも導入して動作確認済み。
少し前にPOAS1鯖を移動済みなので特に大きな問題はありませんでした。
Apache設定新旧
2.2 -> 2.4
#—- 全て許可
# 2.2
Order allow,deny
Allow from all
# 2.4
Require all granted
#—- 全て拒否
# 2.2
Order deny,allow
Deny from all
#2.4
Require all denied
#—- DefaultType
# 2.2
DefaultType text/plain
# 2.4(廃止)



