web site

Webフォームのボット送信被害

一般的にWebフォームは、PHPを使用して
フォームの受け取りやメール送信を行うのですが

ボットと呼ばれる、自動送信プログラムで
勝手にフォームが送信される、ある意味ハッキングがあります。

※確認ページがない場合、いきなりのフォーム送信なので
被害が出る可能性が高いです。

PHPからフォームを出力(HTML)する際に、重複送信を防ぐ目的で
フォーム内に、毎回ランダムなhidden値 (フォーム上には表示されない項目)を
追加して、フォームの受信時にそのhidden値を確認し
メールを送信する仕様にしていました。

これは、フォームを送信される「人」に対しての対策で
フォームのタグ(HTML)を見れば、hidden値は確認できてしまいます。

上記の場合、PHPがサーバーサイドで作成したものは
ページのタグで全て丸見えになり、その値を元に
ボット等がフォームを送信できてしまいます。

ここに、JavaScript(jQuery)のスクリプトをいったん挟んで
「送信ボタン」のタイプを「submit」から「button」に変更。

送信ボタンが押されたら、jQueryでクリックを確認し
jQueryからフォームを送信する設定に変更します。

サーバーサイド(正確には中間ですが)で動くボットは
ブラウザーサイド動くjQueryは見えないので
簡易的ですが、勝手に送信される被害は防ぐことができます。

本気でハッキングされた場合、jQueryのJsファイルを読み込んで
同じ動作をさせると送信できますが、自動攻撃用のボットなら
そこまで手の込んだことはやりませんので、一先ずは回避できると思います。

それを乗り越えてきた場合、毎回ランダムなhidden値を、最初のフォーム表示時に
PHPで生成しておいて、SESSIONに記憶させておき、送信ボタンがクリックされた場合
jQueryから、Ajax送受信で別のPHPからhidden値を取得、フォームに追加。

送信後にフォーム受け取りPHPにてhidden値とSESSIONを確認し
合致すればメール送信、と、簡単なチェックを入れることで
もう少し頑丈に防げると思います。

なんだか、フォームのボット送信が増えてるみたいなので
ザックリですが、記事にしてみました。

Equipment

WWDC22

WWDC22は基本的には、システムやプログラム的な発表の場なので
アレかもしれませんが、Mac Pro 2022の発表を期待していました。

結果は「姿は見えず」でしたが、現在の状況で見ると
致し方ないというか…。

Mac Studioでも、カスタマイズした場合、納期が10〜12週で
注文してもすぐに届かない状態。

半導体不足?
中国のロックダウンの影響?

発表は、今年の9月でしょうか?
販売は年末ごろ?

製造場所にもよりますが、生産も追いつかないだろうし
注文しても手元に届くのは来年でしょうね。

円安の影響で、軒並みApple製品も値上がりしたので
ここで、Mac Proが出てもお値段がアップ。

Mac Pro 2022 が、手の届かない金額になる可能性があり
Mac Pro を諦めて、Mac Studioに行ったとしても
今年中に手元に届くやら…。

いろいろ情報を漁っていますと
「Macの上位機種が、そんなに必要なのものか?」と
書き込みがありますが、今までのMac投資を考えると
いきなりWindowsには移行できずにいます。

また、作業中のトラブルにに対して、Mac OSの過去の使用経験から
リカバリーが迅速に行えるのも仕事で使用する場合は
必須な項目になります。

Windowsでも、ワークステーションクラスで見積りした場合
150万は、裕に超えてきますので環境変化における博打になります。

OSからCPU、本体まで一貫して製作しているAppleだからこその
信頼性も、今まで仕事で使用できたのではないかと思います。

WWSC22でのM2の発表はありましたが、Mac Pro 2022は
M1のカスタムだと思うので

Mac Pro 2022 = M1
Mac Pro 2023 = M2

なのでしょうね。

先読みしないようにしないと、macOS Venturaから外された
Mac Pro 2013の制作環境が続く気がします…。