PHPでフォーム送信の際に禁止ワードのチェック及び制限をかける方法
2024/01/15
掲示板等のformを送信する際に特定の禁止ワードが含まれていないかチェックするプログラムというのを以前JavaScriptで作ったけどPHP版も必要になった。以下に実装方法をメモ。
JavaScript版
https://taitan916.info/blog/archives/2609
PHP版ソース
<?php
/* 手続き型版 */
$body = 'tsesあああtaaa'; //チェックしたい本文
$ng_words = array('test','hoge','あああ'); //禁止ワード
$flg = 0;
foreach( $ng_words as $word ){
if(strpos($body, $word) !== false){
$flg = 1;
break;
}
}
if( $flg ){
//禁止ワードが含まれている場合の処理
}else{
//禁止ワードが含まれていない場合の処理
}
/* 関数版 */
function check_word( $check_data ){
$ng_words = array('test','hoge','あああ'); //禁止ワード
$flg = true;
foreach( $ng_words as $word ){
if(strpos($check_data, $word) !== false){
$flg = false;
break;
}
}
return $flg; //禁止ワードが含まれていればfalse、含まれていなければtrueを返す
}
その他
$bodyのところを$_POST['bbs_body']とかで受け取ったものにすれば良い。また、JavaScript側からAjaxで送信してチェックするという使い方もいける。
関連記事
-
-
PHPの配列でキーの最大値を取得
PHPの配列でキーの最大値を取得したかった。以下で対応する。 $test = a ...
-
-
PHPでの$_REQUESTは色々危険
extract($_REQUEST)はかなり怖いよ、という話が最近あった。 でき ...
-
-
PHPで特定のサイトからのリクエストのみ受け付けて処理する方法
指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他 ...
-
-
PHPでソーシャル(SNS)ログインする方法2018
久しぶりにソーシャル(SNS)ログインを実装する機会があった。以前に対応方法を書 ...
-
-
PHPにて「一億二千万」等の漢数字と通常の数字(アラビア数字)の相互変換を行う方法
PHPにて漢数字と普通の数字の相互変換を行いたい。例えば「123465789」⇔ ...