###前提・実現したいこと
いつもお世話になります。最近掲示板に英数字のみのスパムコメントが入るようになってしまい、とりあえず、日本語がコメント内に入っていない場合は、コメントを空にして、コメントが空の場合は書き込みを行わないという以下のコードを処理用のページに書き込んで、サーバーにアップ後自分でテストした時にはちゃんと書き込めないように出来ていたのに、さっき見たらまったくお構いなしに書き込まれていて、乗っ取られてました(;'∀')
これって防御は出来ないものなんでしょうか?仮にIPアドレスとかを調べてそれははじくようにしても効果はないですよね?
よろしくお願いいたします!
###該当のソースコード
if (strlen($comment) == mb_strlen($comment)) { $comment = ""; } else { $comment = $comment; } if($name != "" && $comment != "" && $title != "" && $judge != ""){ $ps = $db->prepare("INSERT INTO bbs (par_id,res_id,name,comment,time,title,url,judge) VALUES (:v_p,1,:v_n,:v_c,:v_t,:v_i,:v_u,:v_j)"); $ps->bindParam(':v_p',$par_id); $ps->bindParam(':v_n',$name); $ps->bindParam(':v_c',$comment); $ps->bindParam(':v_t',$time); $ps->bindParam(':v_i',$title); $ps->bindParam(':v_u',$url); $ps->bindParam(':v_j',$judge); $ps->execute(); }
###補足情報(言語/FW/ツール等のバージョンなど)
レンタルサーバーのPHPは 7 (5.6も可)です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/14 03:19 編集
退会済みユーザー
2016/05/14 03:36
2016/05/14 04:32
退会済みユーザー
2016/05/14 04:59
2016/05/14 06:57 編集