badwords
次のように、不要な単語[]を格納するデータベーステーブルを作成id,word
します。
CREATE TABLE `badwords`(
`id` int(3) NOT NULL auto_increment,
`word` text,
PRIMARY KEY (`id`),
KEY `id` (`id`))
次の単語を保存したとしましょう
(1,ugly)
(2,yak)
今、私の訪問者はそれらの悪い言葉の1つを含むいくつかのリンクを投稿するかもしれません、そして私はこのようなものを喜んで使用します。
$user = "http://www.this_ugly_site.com"; // visitor post this (ugly) word within
// i'm gonna try to find any of bad words stored in my table
$qry="select * from badwords where word='$user'"; // how to do it (find)
$result=mysql_query($qry) or die($qry);
if(mysql_num_rows($result)=='0'){
echo "Good URL";
}else{
while($line=mysql_fetch_array($result)){
echo "Bad URL";
}}
私は適用する方法がわかりませんstrpos
、そしてそれが本当に良い解決策であるか、または私が使用できる何か他のものがあるかどうか!
または私は使用できますか
$qry="select * from badwords where word LIKE '%$user%'";
ただし、SQLにユーザー提供の値が埋め込まれているため、安全ではないように見えます
だからどんなアイデアやそれを行う方法を助ける〜ありがとう