序版本:DEDEv5.3 gbk
问题原因:用户发布的内容中含有系统中设置的非法字符,但系统没有明确提示非法文字,造成用户十分茫然。
解决办法:明确提示非法文字,方便用户修改。
修改文件:inclide/fileter.inc.php,大约19行左右
if($cfg_notallowstr!=” && eregi($cfg_notallowstr,$svar))
{
preg_match_all(“@{$cfg_notallowstr}@”,$svar,$me);
$me = array_unique($me[0]);
$notallowkeys = ”;
foreach($me as $v){
$notallowkeys .= $v . ‘, ‘;
}
$msg =??’您发布的内容中带有不被允许的文字 :’ . $notallowkeys;
ShowMsg($msg,’-1′);
exit();
}
阅读全文
今天看了一下,都是以mx8168.net为邮箱后缀注册的,到他们站点一看,果然是个叫虫虫营销助手的垃圾营销软件,注册了近千个垃圾帐号
前段时间我开启了邮箱验证,不过SMTP没设置成功,然后注册的垃圾帐号都处于未验证阶段
我再仔细看了一下,发现也有用其他邮箱注册的,应该是正常的用户,不过大部分都没验证成功
想起我设置SMTP的时候,没成功就默认用主机的MAIL函数发送,貌似也能发送成功,不过速度慢得要死,恐怕要半分钟才发送成功,很多人会员注册的时候恐怕等不了那么久,于是才会出现那么多未验证的帐号
想起前几天才给客户设置SMTP,也是用QQ的,是成功了的
然后我进后台检查了一下,发现端口写错了,上QQ邮箱帮助那里查了一下,原来一般的用端口25,SSL加密的才用465
再仔细一看,我连密码都弄错了,难怪前次测试没成功
今天再仔细改了一下,测试了一下终于成功了
然后我想着怎么屏蔽那个垃圾营销软件的骚扰
找到reg_new.php修改其中的$dopost==’regok’这个地方
找到邮箱验证
if(!CheckEmail($email))
{
ShowMsg('Email格式不正确!', '-1');
exit();
}
添加我们自己的验证
//判断EMAIL是否包含有某个垃圾广告软件的EMAIL
if (preg_match( "/mx8168/i ",$email)){
print "怀疑你是由垃圾营销软件注册的,请换个注册邮箱";
exit();
}
直接过滤含有mx8168字符的邮箱
然后到后台删除帐号~
不过竟然提示错误,貌似是UCAPI出错,没有相关函数
直接找到相关文件去掉那个函数的调用就可以了
反正我也没整合UC
阅读全文
最近也没什么重大的事情发生,所以一直都不怎么想写生活
前段时间回了她的家,看到的是惨不忍睹的老人、老屋
顿时心情一落千丈,有种上当受骗的感觉,几分凄苦几分愁
唉,只怪自己一时糊涂,不过登记的时候我都已经有种预感
那时候的心情也是非常不好,有种想哭却哭不出来的感觉
貌似自己一辈子就要毁了一样
前几天她和老妈去看婚纱照展览,回来就兴致勃勃地提条件了
我心里一点想照的欲望都没有,肯坚决地拒绝了
没想到她发脾气了
好吧,发就发吧,大家一起发
于是乎~~~~~~~~~~~~~~~~~~~~~~~
往事不堪回首,今天在老妈的逼问下我坦诚了
无所谓了,一切都无所谓了
勉强得不到任何幸福,和一个不喜欢的人过一生确实很悲哀
证我烧了,人也分了吧
阅读全文
第一次看人猿星球觉得很震撼,然后一直找类似的科幻片来看
可惜没找到类似的
其他大片看了很多~
今天在腾讯发现了它的前传的预告片
很期待啊
阅读全文
今天遇见的一个问题~
上网搜索到了答案
如果一个表单中有多个同名复选框,在提交到 php时却只有一个值,而并不像asp那样是一串用逗号分割的值。有一个很简单的方法来解决:将复选框的name后面加上[],例如:<input type=”checkbox” name=”ccc” value=”1″> 改为:<input type=”checkbox” name=”ccc[]” value=”1″>。这样php将得到一个叫ccc的阵列。但这种方法有个问题,如果您要在客户端对复选框是否被选择、选择了几个用 javascript来判断时,javascript会因为复选框的name中含有[]而出错。您可以在表单中加入一个隐含域,用javascript设 置它的值。
<script language=”javascript”>
function check()
{
var strchoice=””;
for(var i=0;i<document.news.choice.length;i++)
{
if (document.news.choice[i].checked)
{
strchoice=strchoice+document.news.choice[i].value+”,”;
}
}
if (!document.news.choice.length)
{
if (document.news.choice.checked)
{
strchoice=document.news.choice[i].value;+”,”
}
}
strchoice=strchoice.substring(0,strchoice.length-1);
document.news.choiceid.value=strchoice;
alert(document.news.choiceall.value);
}
</script>
<html>
…
<form name=”news” action=”test.php” method=”post” onsubmit=”check()”>
<input type=”checkbox” name=”choice” value=”1″>
<input type=”checkbox” name=”choice” value=”2″>
<input type=”checkbox” name=”choice” value=”3″>
<input type=”checkbox” name=”choice” value=”4″>
<input type=”hidden” name=”choiceid” value=””>
</form>
…
</html>
发现这一句似乎多余了alert(document.news.choiceall.value);
可以去掉~
当然为了调试,可以看看choiceid的内容
那么就改写成alert(document.news.choiceid.value);
阅读全文
响应是需要的!您的网页不符合要求的imxh.kilu.de
我们必须找到您的项目,题为:由于调用”中关系“imxh.kilu.de“”太少广告。
这使我们怀疑您的项目可能是违反我们的条款违反§ 7。我们挑战她解决这个问题,尽快,否则我们将看到自己不得不采取进一步的步骤。如果你已经解决了这个,请把您的用户帐户登录并确认您的操作。
这种行为的原因之一可能是您的HTML网页没有正确安装,也没有”“<html> </ HTML的> “”和”“的<body> </身体> “”标记。
此致
你的团队kilu.de
呵呵~所以还是把去广告的代码删除了
然后登录后台把信息提交一下~
应该没事
阅读全文
今天给客户弄WP模板的时候发现作者把页脚加密了
我还以为直接ECHO就可以出来了,结果却得到更乱的乱码
上网一查,如来是所谓N层加密的办法
然后我从网上找到了一些办法,最后只有这个通过了考验,解出我要的东西
附上代码
<?php
/**********************************************************************
*PHP eval gzinflate base64_decode str_rot13加密解密脚本 By:Neeao
*目前只写了针对四种组合的,其他组合的可参考注释自行修改:
*1.eval(gzinflate(str_rot13(base64_decode(
*2.eval(gzinflate(base64_decode(
*3.gzinflate(base64_decode(base64_decode(str_rot13(
*4.eval(gzinflate(base64_decode(str_rot13(
*Http://Neeao.com
*2009-09-28
***********************************************************************/
$filename=’coded.txt’;//要解密的文件
$handle = fopen($filename, “r”);
$contents = fread($handle, filesize ($filename));
$contents_arr=explode(‘NeeaoNeeao’,htmlspecialchars(decode($contents)));
echo “此代码被加密了”.$contents_arr[0].”层,内容如下:<br>\n”;
echo $contents_arr[1];
/*
解密主函数
$Str,要解密的文件内容
*/
function decode($str,$i=0)
{
$content=””;
//eval(gzinflate(str_rot13(base64_decode(
//先正则查找是否相关组合加密的,base64编码后的正则是:[A-Za-z0-9\/\+=]
if(preg_match(“/(eval\(gzinflate\(str_rot13\(base64_decode\(‘)([A-Za-z0-9\/\+=]*)’/”,$str,$x))
{
//替换掉没用的字符,获取加密后的密文
$content=str_replace(“eval(gzinflate(str_rot13(base64_decode(‘”,””,$x[0]);
$content=str_replace(“‘”,””,$content);
//变量i是用来判断加密层数的,初始值为0,解密一次,层数加一
$i++;
//采用相关组合解密
$content=gzinflate(str_rot13(base64_decode($content)));
//递归判断下是不是已经结束了,没结束继续重复解密
$content=decode($content,$i);
}
//eval(gzinflate(base64_decode(
elseif(preg_match(“/eval\(gzinflate\(base64_decode\(‘[A-Za-z0-9\/\+=]*’/”,$str,$y))
{
$content=str_replace(“eval(gzinflate(base64_decode(‘”,””,$y[0]);
$content=str_replace(“‘”,””,$content);
$i++;
$content=gzinflate(base64_decode($content));
$content=decode($content,$i);
}
//gzinflate(base64_decode(base64_decode(str_rot13(
elseif(preg_match(“/eval\(gzinflate\(base64_decode\(base64_decode\(str_rot13\(‘[A-Za-z0-9\/\+=]*’/”,$str,$z))
{
$content=str_replace(“eval(gzinflate(base64_decode(base64_decode(str_rot13(‘”,””,$z[0]);
$content=str_replace(“‘”,””,$content);
$i++;
$content=gzinflate(base64_decode(base64_decode(str_rot13(($content)))));
$content=decode($content,$i);
}
//eval(gzinflate(base64_decode(str_rot13(
elseif(preg_match(“/eval\(gzinflate\(base64_decode\(str_rot13\(‘[A-Za-z0-9\/\+=]*’/”,$str,$m))
{
$content=str_replace(“eval(gzinflate(base64_decode(str_rot13(‘”,””,$m[0]);
$content=str_replace(“‘”,””,$content);
$i++;
$content=gzinflate(base64_decode(str_rot13(($content))));
$content=decode($content,$i);
}
else
{
$content=$i.”NeeaoNeeao”.$str;
}
return $content;
}
?>
当然,也不是一帆风顺,中间某个步骤说是解了67层的时候,还是乱码,但是这个脚本却提示已经解出来了,我还以为这个脚本没用
结果我把他显示的结果再存入需要解密的文件那里,再解了几十层之后,我要的代码终于出来了,就几个简单的DIV加一些版权东东
让我大呼上当,还以为他加密了啥函数在里面呢
阅读全文
IE6,IE7,Firefox兼容的css hack
第一种办法:
body
{
background:red;
*background:blue !important;
*background: green;
}
第一排给Firefox以及其他浏览器看;
第二排给IE7,IE7既能能识别*号,也能识别important;
第三排给IE6也能识别*号;
第二种办法,使用_来区分IE6:
body
{
background:red;
*background:blue;
_background: green;
}
第一排给Firefox以及其他浏览器看;
第二排给IE7,IE7既能能识别*号;
第三排给IE6能识别下划线;
CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点。
常见兼容问题:
1.DOCTYPE 影响 CSS 处理(但这个声明对于WEB标准的验证是非常重要的)
2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行
3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width
5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式
6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:
div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:
div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;
10.IE5 和IE6的BOX解释不一致
IE5下
div{width:300px;margin:0 10px 0 10px;}
div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改
div{width:300px!important;width /**/:340px;margin:0 10px 0 10px}
关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)
11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义
ul{margin:0;padding:0;}
就能解决大部分问题
阅读全文
临时处理方法:
修改/include/customfields.func.php
254 行
else if($dtype==’img’ || $dtype==’imgfile’)
{
if($admintype==’diy’)
改成
else if($dtype==’img’ || $dtype==’imgfile’)
{
return $dvalue;
if($admintype==’diy’)
322 行? $dvalue = MemberUploads($fieldname,”, 0, ‘addon’, ”, -1, -1, false);
改成
//$dvalue = MemberUploads($fieldname,”, 0, ‘addon’, ”, -1, -1, false);
注释掉
477 行 到 488 行也注释一下 要不然修改时候数据默认值会丢失
$ndtp = new DedeTagParse();
$ndtp->LoadSource($fvalue);
if(!is_array($ndtp->CTags))
{
$ndtp->Clear();
$fvalue =? “”;
}
else
{
$ntag = $ndtp->GetTag(“img”);
$fvalue = trim($ntag->GetInnerText());
}
改成
/*
$ndtp = new DedeTagParse();
$ndtp->LoadSource($fvalue);
if(!is_array($ndtp->CTags))
{
$ndtp->Clear();
$fvalue =? “”;
}
else
{
$ntag = $ndtp->GetTag(“img”);
$fvalue = trim($ntag->GetInnerText());
}
*/
阅读全文
早就听说过,就是没用过
今天LVGE的网站又出问题了~
结果主机那边说是服务器在升级
这个期间FTP用不了,说如果急用就开SSH,于是我就像被赶上架的鸭子
根据教程自己生成密匙,然后下软件登录
教程备份一份,以备不时之需
http://bbs.8-host.net/read.php?tid=2808#4060
阅读全文