这是别人的代码
<?php
header("Content-Type:text/html;charset=utf-8");
//连接
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211) or die ("Could not connect");
//显示版本
$version = $mem->getVersion();
echo "Memcached Server version: ".$version."<br>";
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br>";
恩,这个也要有,对开放的论坛。
@admin 我觉得是否可以使用前端脚本比如JS来检测敏感字 并把敏感字替换为特定的字符
这样可以减少数据库查询 是程序更加轻量级~
今天看了一下敏感词问题,还是放弃了,控制用户群比控制敏感词容易多,成本也低。
看到一个列表,6千多个。每次用户发贴都检测,用户体验很差,而且这词库会越来越庞大。
今天想修改的内容都修改了,过滤的功能还是省了。
@admin 嗯 控制用户群是比较狭义的问题
当然 每个人运营的方向都不一样
~另外一个问题
发现一个IP一小时只能注册一个
那如果是共享上网(内网)的话
那不是要干掉好多用户?
这个程序更新 怎么才知道呢? 在新浪云 好像没有更新记录~
@test 一个ip一个小时的问题可通过简单修改代码解决。
在这里会放一个更新记录的帖子,等新浪审核通过后就提醒,目前只能这样了,以后新浪应该有更好的方法。
@admin 求代码~如果修改完代码关闭 那还能防止注册机吗?
@test 注册间隔时间已经放在后台了,后天10点钟后就可以更新了。
这个时间间隔是防注册机的。
还是考虑在注册的地方加个验证码好了,双重防护。
@admin 我也认为验证码是必须的 后天十点过后就可以更新了?
我的的几次审核时间:
2012-11-22 10:08:10
2012-11-19 10:47:29
2012-11-15 10:07:34
@admin 关键词这块 我觉得还是要有
目前我想到的方法就是利用SHELL自动化来管理
可以用sql语句来查询敏感字符并替换为自定义字符
不过不懂编程 想问一下这个sql语句怎样写?
@test 可不可以从前端伪替换?变为html实体等。
@admin 你不是说前端影响用户体验吗
另外问你个问题
这是阿里云检测到admin-setting.php为后门
不是很专业 想知道这个……………………
@test 前端“伪替换”其实是转码,网页显示没变,查看源码全没中文,这种方法还没验证。
应该问问阿里云,我也很想看看是哪行代码涉及到后门。
@admin 嗯其实看你这么热心的回答问题 又不断的更新程序并且开源 感觉你不会放后门的
哈哈
只要敏感字这块 我觉得其实全端用JS替换应该是可行的
至于你说的敏感字又6000多个 我觉得可以让用户自定义
这样或许可行~
@test 有时间上来就多打理。
我的意思不是替换某些词,而是全部把中文替换为Unicode编码,如把中文“资”转为的实体编码%u8d44
@admin 就是转换编码是吧 比如把敏感转换为UTF编码 是这样吗?
嗯 我觉得在关键词这块 个人认为最后就用前端处理 要买就用php定时执行SQL语句来实现“和谐“的环境
@admin 我发现升级到1.02之后好像查询变多了
@admin 好的东西 我总是爱不释手哈哈 所以只要有时间 我都会来测试程序的哈哈
@test 每次都是那么多吗?如果是就是缓存没生效。
在SAE环境?
@admin 不是 lnmp环境 nginx php mysql mc
@test 那就是缓存没生效。
@admin 已经测试4、5个小时了 晕
@admin 有什么方法可以检测缓存生效?
@test 查看手册 http://cn2.php.net/memcache
这里有篇中文介绍也不错 http://www.cnblogs.com/qiantuwuliang/archive/2011/03/07/1974499.html
@admin 嗯 测试MC正常 不过还是那么多SQL语句查询
@test 贴一下测试代码看看。
这是别人的代码
<?php
header("Content-Type:text/html;charset=utf-8");
//连接
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211) or die ("Could not connect");
//显示版本
$version = $mem->getVersion();
echo "Memcached Server version: ".$version."<br>";
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br>";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br>";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br>";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br>";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br>";
//关闭连接
$mem->close();
?>
Memcached Test tools for <a href="http://lnmp.org" target="_blank">LNMP一键安装包</a> <a href="http://bbs.vpser.net/forum-25-1.html" target="_blank">技术支持论坛</a>
另外在系统查看相关进程和端口都是开启的
@test 再贴一下你的config与mem有关的内容。
<?php
/*
程序官方支持社区 https://www.youbbs.org/
欢迎交流!
*/
define('SAESPOT_VER', '1.02');
//数据库主机名或IP
$servername = 'localhost';
//数据库用户名
$dbusername = 'youbbs';
//数据库密码
$dbpassword = 'root';
//数据库名
$dbname = 'youbbs';
//数据端口
$dbport = '3306';
//MySQL字符集
$dbcharset = 'utf8';
//系统默认字符集
$charset = 'utf-8';
// 定义缓存
$MMC = memcache_connect('127.0.0.1',11211);
?>
@test http://code.google.com/p/youbbs/downloads/detail?name=youbbs-v1.02.zip
这是 普通vps或虚拟主机版,没有用到缓存。
@admin 那有MC的版本呢?
@admin 拿又MC缓存的版本呢?
@test 拿你云空间的代码改一下也可以。