本文目录一览:
phpcms v9垃圾评论如何批量删除?
PHPCMS默认自带删除文章,但是一次最多只能删除20篇文章。如果要删除的文章数量多的话会很雷人,虽然我们可以通过删除栏目来实现删除文章,但是还是怕会删除的不彻底而占用数据库空间。
PHPCMS批量删除文章方法,PHPCMS默认存储文章的数据表是v9_news和v9_news_data,一个是主表,用于存储文章的标题、描述、关键词等信息,另外个附表就主要是存储文章内容的。
代码如下:
?php
$mydbhost = "localhost"; //配置主机
$mydbuser = "test"; //数据库用户
$mydbpw = "test2016#"; //数据库密码
$mydbname = "gongzheng"; //数据库名字
$mydbcharset = "utf8"; //设置编码
$link = mysql_connect($mydbhost,$mydbuser,$mydbpw) or die (mysql_error());
mysql_select_db($mydbname,$link) or die("没有该数据库:".$mydbname);
mysql_query("SET NAMES '$mydbcharset'");
$row= mysql_query("SELECT `a`.`id` as `k`,`b`.`id` as `p` FROM `v9_news` as `a` left join `v9_news_data` as `b` on `a`.`id` = `b`.`id` WHERE `a`.`catid` = '111' ORDER BY `a`.`id` DESC");
while ($rs=mysql_fetch_array($row)){
$aid = $rs[k];
$sql = "DELETE FROM `v9_news` WHERE `v9_news`.`id` = '$aid'";
$sql2 = "DELETE FROM `v9_news_data` WHERE `v9_news_data`.`id` = '$aid'";
mysql_query($sql);
mysql_query($sql2);
}
mysql_close();//关闭数据库连接
?
怎么使用PHP技术过滤垃圾用户
一般处理这种情况的话,有3种解决方案
人工识别,缺点是垃圾用户太多的时候人工劳动量太大
机器识别,缺点是容易误伤正常用户
人工+机器识别,这种方法是一个中和比较适中的解决办法
设定好相关的过滤机制,使用PHP去自动处理一些高危用户并封号,对于一些危险度较低的用户使用人工去识别封号。
机制怎么去设置,这个得根据你的现有情况去制定。一般垃圾用户都有共性。
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
strstr()
函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回
false。
语法:strstr(string,search)
参数string,必需。规定被搜索的字符串。
参数search,必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配数字
ASCII
值的字符。
该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用
stristr()。
strstr()函数简单演示
复制代码
代码如下:
?php
echo
strstr("Hello
NowaMagic!",
"NowaMagic");
?
程序运行结果:
NowaMagic!
再来一个简单例子
复制代码
代码如下:
?php
=
'name@example.com';
$domain
=
strstr($email,
'@');
echo
$domain;
//
prints
@example.com
//$user
=
strstr($email,
'@',
true);
//
As
of
PHP
5.3.0
//echo
$user;
//
prints
name
?
程序运行结果:
@example.com
这个函数可以用的地方很多。假如你的网站垃圾评论很多,大部分垃圾评论是带链接的,因为要增加反向链接嘛,所以你可以使用下面的小技巧来杜绝这些带链接的垃圾评论。
复制代码
代码如下:
?php
$content
=
$_POST['content'];
$garbage
=
strstr($content,
"a");
if($garbage
==
false)
{
//
数据库插入代码
}
else
{
echo
"scriptalert('你的评论不能带有链接');
history.go(-1);/script";
}
?
嗯,大概就这样。