实现分类、tag、作者标题像文章标题一样可在后台SEO设置里面控制 emlog
找到根目录文件include/controller/sort_controller.php,将其中的
$site_title = $sortName . ' - ' . $site_title;
替换成
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">switch ($log_title_style) {
case '0':$site_title = $sortName;break;
case '1':$site_title = $sortName . ' - ' . $blogname;break;
case '2':$site_title = $sortName . ' - ' . $site_title;break;
}
这样即可实现分类标题像文章标题一样可在后台 SEO设置里面控制。(PS更改之前请先备份,以免造成不必要的损失)
标签标题实现的方法,找到根目录文件include/controller/tag_controller.php,将其中的
$site_title = stripslashes($tag) . ' - ' . $site_title;
替换成
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">switch ($log_title_style) {
case '0':$site_title = stripslashes($tag); break;
case '1':$site_title = stripslashes($tag) . ' - ' . $blogname;break;
case '2':$site_title = stripslashes($tag) . ' - ' . $site_title;break;
}
作者标题实现的方法,找到根目录文件include/controller/author_controller.php,将其中的
$site_title = $author_name . ' - ' . $site_title;
替换成
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">switch ($log_title_style) {
case '0':$site_title = $author_name; break;
case '1':$site_title = $author_name . ' - ' . $blogname;break;
case '2':$site_title = $author_name . ' - ' . $site_title;break;
}
emlog 5.3.1版本测试无bug,其他版本未做测试。
不修改内核实现Emlog分页的上页、下页效果 emlog
本文章总结了很多种不同的关于emlog修改分页样式(分页函数)方法,下面我来给各位整理一下,有需要自行修改emlog分页样式的同学可参考参考。
不修改内核实现emlog分页的上页、下页效果
1、先在你使用的模板的module.php文件中增加自定义的分页函数,代码如下:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php
//blog:自定义分页函数
function my_page($count, $perlogs, $page, $url, $anchor = '') {
$pnums = @ceil($count / $perlogs);
$re = '';
$urlHome = preg_replace("|[?&/][^./?&=]*page[=/-]|", "", $url);
if($page > 1) {
$i = $page - 1;
$re = ' <a href="'.$url.$i.'">上页</a> ' . $re;
}
if($page < $pnums) {
$i = $page + 1;
$re .= ' <a href="'.$url.$i.'">下页</a> ';
}
return $re;
}
?>
2、在调用分页的地方(一般是log_list.php)文件加入下列代码:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php $page_loglist = my_page($lognum, $index_lognum, $page, $pageurl); echo $page_loglist; ?>
3、若碎语页面也要调用修改过的分页样式,则在t.php文件中加入下列代码:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php $page_t = my_page($twnum, Option::get('index_twnum'), $page, BLOG_URL.'t/?page='); echo $page_t; ?>
4、module.php评论列表函数调用时用以下代码替换掉原来的分页函数:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php $page_comment = my_page($comnum, Option::get('comment_pnum'), $page, BLOG_URL.'guestbook/comment-page-'); echo $page_comment;?>
给emlog5.3.1版本验证码添加点击刷新功能的方法 emlog
Emlog默认模板下验证码是没有点击刷新功能的,要刷新验证码的话还是得按F5刷新整个页面重新获得验证码,虽然emlog验证码看得比较清楚,但要通过重新刷新网页来获得新的验证码的方法对于网站负荷和用户体验来讲都并不合适,所以有必要给验证码添加点击刷新功能了。
若要给emlog验证码添加点击刷新功能,还是很简单的,因为emlog的验证码也是img形式存在的,所以和其它类似的验证码一样,为img标签添加onclick属性就行了。
Emlog有用到验证码的源代码有如下文件:
Emlog碎语:/t/index.php
Emlog评论:/include/controller/log_controller.php
Emlog管理后台登录:include\lib\loginauth.php
将以上文件的验证码位置的img标签添加以下语句即可实现点击刷新验证码功能:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">style=\"cursor:pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\"
如Emlog评论:/include/controller/log_controller.php, 有以下验证码源码:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><img src=\"".BLOG_URL."include/lib/checkcode.php\" align=\"absmiddle\" /><input name=\"imgcode\" type=\"text\" class=\"input\" size=\"5\" tabindex=\"5\" />
改成如下代码即可添加上点击刷新验证码功能:
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><img src=\"".BLOG_URL."include/lib/checkcode.php\" align=\"absmiddle\" style=\"cursor:pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\" /><input name=\"imgcode\" type=\"text\" class=\"input\" size=\"5\" tabindex=\"5\" />
其它几个页面中添加验证码刷新功能方法类似,此略,注:此方法在em5.3.1正常使用,其他版本未测试。
另一种方法,来源于论坛,简爱发布:前提是当前模板要加载过 jQuery,没有的可以自己添加一下,直接在后台 添加统计代码的位置添加即可 (下面的代码 也在此位置添加,适用于全部正规模板)
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><font size="4" face="黑体">$('img[src="checkcode.php"]') // jQuery 筛选器
.attr('title', '单击刷新验证码') // 添加 title
.click(function(){ // 单击事件
this.src = this.src.replace(/\?.$/, "") +'?'+ new Date().getTime(); // 重新设置 验证码 图片地址 checkcode.php?r=当前毫秒数
});</font>
emlog模板调用多个侧边栏教程 emlog
正在写新板子,想尝试一下三栏的,但是不知道如何调用多侧边栏。查了emlog官方文档(5.0 版以后的),可以调用多个多个侧边栏。下面emlog官方文档原文:
<pre style="overflow:auto" ;class="prettyprint lang-js linenums">Sidebar Amount:标记该模板有几个侧边栏,一般为1,有些模板有两个侧边栏则标记2。这样可以在后台widgets里识别管理(具体可下载体验官方收录的模板G7)。
但是如何调用,文档说参考 G7 模板,但是我在应用中心没找到那个那个板子。后来也在emlog官方论坛发帖询问,也没人回答。
于是干脆自己想办法吧。学了这么久的php,这点还不会,那真是白学了。我突然发现我有一个缺点,就是不相信自己的实力,那可能就是自卑吧。总是再找别人的方法, 而自己没有真正去想。其实动脑想了之后,然后动手实践很容易解决。
下面是我的解决方法:
1、申明侧边栏目数
在header.php文件的页头申明栏目数:【Sidebar Amount:3】表示此模板支持三个栏目。看了一下数据库,似乎最多也只能是4个。但是3个已经足够了。
2、设置侧边栏
3、调用侧边栏
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">①$widgets = !empty($options_cache['widgets1']) ? unserialize($options_cache['widgets1']) : array(); //原文
②$widgets = !empty($options_cache['widgets2']) ? unserialize($options_cache['widgets2']) : array();//调用侧边栏1
③$widgets = !empty($options_cache['widgets3']) ? unserialize($options_cache['widgets3']) : array();//调用侧边栏2
④$widgets = !empty($options_cache['widgets4']) ? unserialize($options_cache['widgets4']) : array();//调用侧边栏3
将side.php 复制三份并重命名如:side1.php、side2.php、side3.php,然后分别把第①句替换为第②、③、④句。
最后include这三个文件中的任何一个,就可以出现不同的侧边栏。理想情况下,首页(列表页)、文章页、页面(微语)可以分别调用不同的侧边栏。
结语
emlog模板调用多侧边栏教程就是这样,是不是很简单。凡事多动脑,问题就解决了……
Emlog程序实现多域名全站访问的方法 emlog
我们很多朋友可能有这样的需要,如果你手上有空余的域名,你也可以试试,让你的emlog支持多域名,只需要修改一个文件,增加几行代码就能够轻松实在多域名支持,理论上是多少域名都没有限制的,当然如果你的emlog使用了静态化插件,那么请你谨慎修改,因为我没有测试过是否对静态化有效,好了,开始动手
第一步: 打开emlog根目录下的 init.php
找到以下代码:
//站点固定地址 define('BLOG_URL', Option::get('blogurl'));
把上面的代码替换成如下代码
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">//define('BLOG_URL', Option::get('blogurl'));
preg_match_all('/{(.*?)}/',Option::get('blogurl') ,$blogurl, PREG_SET_ORDER);
$BLOGURL = explode("|",$blogurl[0][1]);
if( in_array($_SERVER['HTTP_HOST'],$BLOGURL) === true ){
$BLOG_URL_EXP = "http://".$_SERVER['HTTP_HOST']."/";
}else{
$BLOG_URL_EXP = "http://www.shuyong.net/"; //这个域名修改为你的默认域名,
}
define('BLOG_URL', $BLOG_URL_EXP);
第二步:
打开你的emlog后台 ->设置 ,把站点地址改成如下格式
http://{域名1|域名2|域名3|以此类推}/
把多个域名用 | 隔开 ,理论上是没有限制的,当然前提是你有那么多的域名……
注意:本方法5.3.1正常使用,其他版本未做测试
Emlog实现调用分类下第一篇文章图片函数 emlog
Emlog实现调用分类下第一篇文章图片函数分享
效果图大家先看看
的在模板文件下的module.php下添加如下函数
<pre style="overflow:auto" ;class="prettyprint lang-php linenums"><?php //分类文章调用
function sort_log($sortid){
$db = MySql::getInstance();
$sql = $db->query ("SELECT FROM ".DB_PREFIX."blog WHERE sortid='$sortid' AND type='blog' AND hide='n' order by date DESC limit 0,1");
$row = $db->fetch_array($sql);
if (!empty($row['excerpt'])){
preg_match_all("/\<img.?src\=\"(.?)\"[^>]>/i", $row['excerpt'], $match);
if(empty($match[0][0]))
{preg_match_all("/\<img.?src\=\"(.?)\"[^>]>/i", $row['content'], $match);}
}else{preg_match_all("/\<img.?src\=\"(.?)\"[^>]>/i", $row['content'], $match);}
$logpost = !empty($row['excerpt']) ? $row['excerpt'] : ''.$row['content'].'';
$num = rand(1,$imgnum);
$img = isset($match[0][0]) ? $match[0][0] : '<img src="'.TEMPLATE_URL.'images/shuyong_net/'.$num.'.jpg">';
$content = strip_tags($logpost,'');
$content = mb_substr($content,0,68,'utf-8');//
$out .='<div class="sort-tw"><div class="sort-img"><a href="'.Url::log($row['gid']).'" title="'.$row['title'].'" >'.$img.'</a></div>
<div class="sort-tt"><a href="'.Url::log($row['gid']).'" title="'.$row['title'].'" >'.$row['title'].'</a></div><div class="sort-nr">'.$content.'...</div></div>
';
$sort_log_num = $sort_log_num -1;
$logs = $db->query ("SELECT * FROM ".DB_PREFIX."blog WHERE sortid='$sortid' AND type='blog' AND hide='n' order by date DESC limit 1,10");//1表示从第2篇文章开始,10为数量
while ($trow = $db->fetch_array($logs)){
$date = gmdate('m-d', $trow['date']);
$trow['title'] = mb_substr($trow['title'],0,180,'utf-8');
$out .='<li><p><a href="'.Url::log($trow['gid']).'" title="'.$trow['title'].'">'.$trow['title'].'</a></p><span>'.$date.'</span></li>
';
}echo $out;}?>
Emlog模板文件log_list.php下使用如下代码
<?php global $CACHE;$sort_cache = $CACHE->readCache('sort'); ?>
<?php echo $sort_cache[1]['sortname'];?>调用分类名称,其中[1]代表分类id
<?php sort_log(1); ?>
最后写上css就ok,css文件自己折腾吧
emlog实现全文+标题搜索方法 emlog
emlog官方默认默认搜索引擎,只支持搜索日志标题,我想着应该是处于多方面的考虑,基本各位站长自己的需求,我们还是可以做更改的,只要你的服务器允许的话。
找到文件include/controller/search_controller.php中的以下代码:
$sqlSegment = "and title like '%{$keyword}%' order by date desc";
替换为:
【仅全文搜索】
$sqlSegment = "and content like '%{$keyword}%' order by date desc";
【标题+全文搜索】
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">$sqlSegment = "and ( title like '%{$keyword}%' or content like '%{$keyword}%' ) order by date desc";
注意:全文检索对服务器会造成一定的压力,特别是你的文章特别多的时候,是不建议的,万一当机了就不好玩了,是吧。
emlog模板防止跨站漏洞教程(所有模板作者请务必阅读) emlog
进过我的调查,发现大家贡献很多的模板中都没有对URL中的参数进行必要的过滤,从而给黑客留下跨站攻击的空子。
在这里我举一个典型的例子供大家参考,下面是某个CMS模板输出搜索关键词的代码,
?php }elseif($params[1]=='keyword'){ ?> 关键词 <b><?php echo urldecode($params[2]);?></b> 的搜索结果
请
注意$params[2]变量没有任何过滤的就直接输出了,而我们可以构造/index.php?keyword=8<img src=1
width=500 height=500 onerror=alert(1)>在页面上运行javascript代码alert(1).
黑客在攻击时可以把alert(1)替换为攻击代码(比如获取访问者的cookie信息)后发给站长。如果站长不小心点了链接,那么黑客就能获取站长登陆
状态的cookie,有了cookie,就能冒充站长登陆站点后台做他想做的任何事情了。
综上所述,为了各位用户的安全着想,请各位模板作者在输出URL参数时使用PHP的htmlspecialchars函数来进行过滤,防止XSS攻击,像上面例子中的代码可以修改为
<pre style="overflow:auto" ;class="prettyprint lang-php linenums">?php }elseif($params[1]=='keyword'){ ?> 关键词 <b><?php echo htmlspecialchars(urldecode($params[2]));?></b> 的搜索结果
最后还是要感谢各位模板的作者为emlog的无私付出,希望这篇教程能给大家做出安全好用的模板提供一定的帮助。
本文来源于emlog论坛,由em管理员:朦胧之影 发布
某论坛的VIP板块资源的渗透教程www.mrxn.net分享--小迪实地渗透培训第六期-全套高清 资源分享
首先声明:是因为我兄弟说需要看这个视频,问我看看能不能搞下来.于是....很容易就搞到手了....大致内容如下:
虚拟机安装
安装win2003,winxp,kali等操作系统
安装VMware
安装必要工具和插件
学习使用虚拟机快照,网络配置,线程设置等
脚本编程篇(4天)
1.html语言基础补习(表单,跳转,处理)
4.实例自己写文件上传页面
5.实例自己写sql注入测试页面
6.实例自己写后门小马,大马
2.实例手工注入asp+access全过程
6.实例php+mysql5注入(文件读取)
实验6:实例beef+ettercap+msf到服务器
实验7:实例set社工+安卓木马控制安卓手机实验
下载地址: http://pan.baidu.com/s/1gdwCOJx 提取码: [hide] ye5e [/hide]
评论即可下载,当然也可以看一下这篇文章: 破解百度网盘私密分享密码-就是这么任性 可以暴力破解的百度网盘的!
有些人 有些事 杂七杂八
有些人 有些事 在记忆中刻骨铭心 你不去触及 就没有疼痛 而一旦触及 就是波涛汹涌 一发不可收拾
很多时候我以为自己忘记你 就像生命中那些匆匆过客 只走一程便后会无期 可是无意间朋友的提及 还是勾起淡淡的回忆 一瞬间就想起你那时青涩的脸庞那样美丽 而今 我只能自顾自叹 恨当初自己不勇敢 把爱在心中蕴藏 一别六七年 也不知现在算不算晚
其实我不知道这封信怎么开头 就像有些话不知道怎么开口 我想也许我已经忘了你的样子 忘了你的声音 但是一旦重新认识你时 你的容颜依旧那样熟悉而亲切 在脑海映成一张久久不能散开的画面 而你的声音也一如音乐般直刺我的内心 我想是平日的不想起 而一旦想起 还是当初没有改变过的感觉
我记得有一回我们用屁股顶着玩 现在想起来可能会觉得好笑 但如果时光倒流 回到当初 还会不会像过去那样两小无猜 肆无忌惮
我记得我好像说过我喜欢你 我已经忘了你当初的反映 如今旧话重提 我一如当初 却不知道你是否还是原来的你
家境优越度终究来源于物质享受 更高更好的爱情应该是精神上的一种追求 没房有梦想 没车有担当 以前说只要努力只要有希望不放弃就会改变自己改变命运 其实都是空话 这个世界成功毕竟是少数人的 我也许也只是大多数中的一个 我什么都没有 所以承诺是苍白无力的 我想你陪我奋斗 怕又没有资格
物欲横流的社会 想找一份纯纯的感情很难 我想我在写一个故事 我写好了开头 等你来写结局
韩梅梅是知道李雷爱她的 但是终究他们会分开 所以没有选择在一起 不过 谁知道某一天他们又会再相遇 李雷依旧爱着韩梅梅 而韩梅梅会不会已经开始讨厌李雷了啦
而我还在幻想 会不会有这样一个女生爱我 不是需要有车有房 只是因为被我真诚的微笑感染!