网站提供上存功能,是很多站点经常会有功能,商城,论坛还有常见一些网盘站点。常见互联网上面,我们也是经常听说,某某站点出现上存漏洞,某某开源项目有上存漏洞。 从互联网开始出现动态程序,上存漏洞像幽灵一样,频繁的出现在各种系统中。为什么,一个上存漏洞会这么频繁出现呢。而且,有些系统反复修补,多次还没有修补成功!其实主要问题,还是出现在上存原理上面。我们先看看,上存过程。 网站上存过程分析 <?php
header("Content-type: text/html; charset=utf-8");
if($_FILES)
{
echo '<pre>';
var_dump($_FILES);
echo '</pre>';
}
?>
<form action="" en...
阅读全文
通过上一篇,获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR) ,我们已经意 识到直接从http_x_forwarded_for中读取用户IP,跟我们直接从一个get,post值中读取其实没有两样。web参数检测里面一个基本原则:“一切输入都是有害的”,因此,只要是输入我们就需要进行过滤。 安全过滤后的getIP函数 function getIP() { $realip = ''; //设置默认值 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $realip = $_SERVER['HTTP_CLIENT_IP']; } else { $realip = $_SERVER['REMOTE_ADDR']; } preg_match('/^((?:\d{1,3}\.){3}\d{1,3})/',$rea...
阅读全文
分析过程这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的。 一般朋友,都会看到如下通用获取IP地址方法。function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $realip = $_SERVER['HTTP_CLIENT_IP']; } else { $realip = $_SERVER['REMOTE_ADDR']; } return $realip; }这个是网上常见获取,ip函数,用这些值获取IP,我们首先要弄清楚,这些数据是从那个地方传过来的。 IP获取来源1.'REMOTE_ADDR' 是远端IP,默认来自tcp 连接是,客户端的Ip。可以说,它最准确,确定是,只会得到直...
阅读全文
从上一篇:wordpress 3.5 filter 消息标签的名称 ,我们知道了wordpress过滤器消息灵活性。接下来,我们分析下这个具体执行过程。这个也是wordpress 优秀代码一个核心点。学习并使用该方法,应用到自己的站点中,将会给自己的系统带来很大的灵活性提升,扩展性将大大增强。其实这 类设计模式,就是”监听者模式“,先让监听者监听某个事件,只要发生某个事情,就去执行任务。对一个事件,可以添加条监控,分别执行独立任务。 不过,消息过滤模式,它有一个特点,每个执行任务将会返回一个结果,这个结果将作为下一个任务输入参数。第一个任务输入参数,就是发送消息,并且传入的参数。 是不是感觉有点晕晕啦,呵呵,如果对监听者设计模式熟悉的话...
阅读全文
wordpress 框架有很多优点,从前一篇“《我的博客》之从技术眼中分析wordpress结构优缺点” ,可以看到,它的消息标签在解耦方面扩展性有多强。 我看了,wordpress官方手册,里面没有对所有标签进行罗列。而如果你要进行wordpress插件开发,功能扩展开发。它的消息标签,是必须要有所了解的。 以下是我收集的所有filters类的消息标签,居然有500多个。 'add_menu_classes' 'admin_body_class' 'admin_comment_types_dropdown' 'admin_footer_text' 'admin_memory_limit' 'admin_post_thumbnail_html' 'admin_title' 'admin_url' 'admired_attachment_size' 'admired_author_bio_avatar_size' '...
阅读全文
我还是觉得自己开辟搭建一个独立blog平台,我常用linux服务器,因此选择php环境。 这样,我可以选择的开源博客系统会有很多。这里不对博客系统进行纵向对比。我说下,对wordpress认识过程,一些自己的体会。纯属代表个人意见,欢迎讨论! 刚开始,下载一套wordpress 3.5,然后一路安装下来,比较简单,跟常见其它一些开源平台查不到。 只要配置好数据库连接,然后一路下一步,分把钟就可以做好。 也是由于,对wordpress 早已经有所耳闻,而且感觉它名气很大,这类系统中佼佼者。 首先看看它数据库结构吧 11张表,实现了强大的博客功能,首先表示不简单。现在很多cms 基本上都是40-50个表。其中很有几张表,设计...
阅读全文
前言:看到很多同人有自己的博客,也知道它的重要性,以及带来诸多好处。 于是乎准备开始搭建一个自己的技术博客平台。分享经验教训,分享技术前瞻,聊聊自己对新鲜事务看法。 于是准备开始搭建平台了,首先遇到棘手问题就是,家按在那里呢? 博客安家在那里呢? 这个可能是很多朋友比较纠结的问题。自己建个博客站点,还是在公共平台申请呢? 可能很多朋友看到很多博客公共平台上面,有些用户流量很高,访问量也多,于是打算去申请一个。这里各有各的好处,各有各的问题。 以下分析来自个人观点,欢迎交流! 公共博客平台PK独立搭建博客 其实,我3年前在知名博客站点,开通了博客,大概2,3 个月, 排名就进入1000多位。 后来,一直没有打理...
阅读全文
前言: 作为工作比较久的人员,经常会带一些新人。怎么样快速让新人能够上手,更快的成长起来,这是作为管理者需要考虑问题。 一个新人,成长快慢,除了自身因素外,他的导师传递知识方式方法,我认为非常重要。你是给他鱼,还是渔呢? 好的方法、好的事例,能够读者在轻松愉快环境中,快速掌握知识。其实,写一篇技术博客,表述你的思想,以此给人知识,也是一样道理。怎么样写好这篇博客,能够让读者轻松,愉快读完;又能收益,确实是门学问。以下是我一些观点,欢迎交流! 1. 技术博客,站到读者角度去写 技术类博客很常见,或是教大家某些软件、工具使用;或是分享自己经验;或是某次成长过程。我们会发现,现在教程很多,但是好的教程很...
阅读全文
技术人员写个博客很必要 其实我从事互联网已经很多年了,从论坛到博客,到微博,到现在的微信。我都经历过,这类程序看过很多,写过不少;从实现技术,开发原理都有所了解。但始终我没有一个自己的博客,好比天天在外面建房子的人,没有一个自己的房子一样。总认为,建个博客没有多大必要,也没有时间去打理。直到后来,工作久了,接触东西多了,而更重要是,老是开始忘记东西,忘记以前所学习东西,很熟悉的知识也逐渐模糊了。开始觉得,应该要多动笔,记录下。 下次忘记了,有个地方能够找到! 写博客好处 开始带团队了,开始培养新人了。 我也开始跟同人说,作为技术人员应该有个自己的博客。 1. 记录学习知识,...
阅读全文