插件冲突导致emlog的rss输出出错 emlog

先来看一下插件冲突导致rss输出出错的样子吧:

2015-08-29 22_52_00.png

估计很多的朋友都有过这种情况吧,rss.php输出出错,我也是,一开始以为是数据库表出错了,还使用工具箱修复,结果发现,还是不可以的。于是就把所有的插件都停用了,然后,慢慢测试,发现下面几个插件在激活状态都会导致rss.php输出出错:

1.奇遇的防垃圾评论插件 地址:http://www.emlog.net/plugin/10 希望奇遇可以修复

2.二今的代码演示插件,地址:http://www.emlog.net/plugin/166 希望而今可以修复

3.vibbow的索引通知插件 地址:http://www.emlog.net/plugin/9 希望可以修复

这些都是自己在最新版的emlog5.31上测试发现的,以为这些插件能够使用,但是版本上没有更新,所以兼容性不是很好。当然了,作者有时间最好修复一下,仅此小计一下,方便那些对于rss.php出错但是不知道什么原因的童鞋有点帮助,禁用这些插件就OK了,这些插件其实挺好的,只是没有升级更新。

禁用这些插件之后,rss输出就OK了:

2015-08-29 22_52_30.png


admin 发布于  2015-8-29 21:52 

关于提取免流IP那些事儿 杂七杂八

02.png

很多童鞋问我怎么免流,但是真的,我玩免流只是当时的一时兴趣,稍作研究,其实免流最重要的就是免流IP,不管你是直连IP免流,还是代理IP免流,总之,需要免流IP,授人以鱼不如授人以渔,今天就把我之前玩免流的时候一些琐碎的经验总结&体会给大家分享吧,希望可以帮到大家,我估计玩免流的一般是没有WiFi,流量不够使的在校的童鞋们吧!其实,我还是希望你们在学校有更多的时间来学习,或者是运动,而不是充当低头一族的成员,当你到了而立之年的时候,或许不用到那个时候,就会发现,过去的自己的行为是多么的幼稚可笑,就像自己曾经的黑客梦一样,或许是自己不够努力,亦或是天分不够吧,终究只是碌碌无为;其实有的时候把这些当做是一种爱好是一件很不错的事情,You can just a test,trust me! 做好自己该做的,别让子欲养而亲不待的痛苦发生在自己身上了。现实一点,会少受伤不少。欢迎大家随时光临博客吐槽围观。

OK,接下来说说提取手机免流ip的一些方法(所有需要用到的工具在结尾出放出):

<一>利用移动/联通等的掌上营业厅,如果你所在的地方登录掌上营业厅不需要流量,就可以尝试提取它的地址来实现免流,但不保证绝对成功,告诉你们的提取方法吧:打开 wap.ip138.com,点击 ip地址查询 再输入框里面输入你们的掌厅的网址,得到的IP应该就是测试免流的IP。测试有风险,下载需谨慎!

<二>很多人ALMP弄好了却苦于没有免流ip,举个例子,box.10155.com(不同地方网址可能不同),联通沃音乐,我们都知道在这里面下载音乐是不收流量的(或者以M值计算),但是对于网页免不免呢?对于这个我们可以用一种方便点的方法验证,那就是直接翻到网页底部看条款,如果条款上说什么浏览本地址流量不计则就可以进去下一步(如果你嫌麻烦那就直接10010人工服务,问她什么网站或服务不收流量,让她给你网址)。有了免流的网站我们就可以提取ip了,别说用什么把网址转成ip你不会(almp可以直接打网址)。测试相对来说也简单,我们只要用两个软件 网络日志和抓包工具。把找到的ip填进php,然后开启网络日志和抓包工具,随便浏览几个网站然后关闭软件,停止抓包,把抓包文件改成TXT用anyview(或者是其他的文本编辑软件都可以)打开并搜索关键字host,看见都是或大多是所填ip就暂时说它免流吧(全部都是则不走点);再打开网络日志看日志是否流量大头都是root,是则80%都免,要是看到有部分是被测软件的,大概占测试所用流量3%左右,超过则走点免流,要是超多了就不免!————最后推荐一个软件,联通掌上营业厅客户端,用它很容易就可以看得出免流情况,一般是测试完后断网十分钟左右,上去看看你的流量详单,要是都是从所填ip访问,并且计入免费流量,那么恭喜你找到了一个免流ip(从这里也可以看出免流的程度) 本人广西玉林,如果有广西朋友,我可以提供破6G ip!最后,送广西友友几个ip 58.254.132.196(3g网络下) 114.247.0.137 10.123.254.3 。

<三>准备硬件:一部已root的安卓手机  准备软件:网络日志(建议用汉化版) 首先把接入点切换到wap的接入点,然后打开网络日志后台运行,然后进入可以免流的网站(如掌上营业厅)或软件(360手机助手里好像可以免流量下东西)浏览网页或下东西,网络日志会显示你的ip,这就是免流ip了!当然有时候也不一定就是免流ip这就要各位自己试了!我已经提取了一些ip,发现一个小窍门,如果在免流网页或app多次出现同一个ip,应该这个就是了,注意免流ip一般第一组数字都是211到223之间的数字(这一段是我从信息技术书上贯通过来的)!后面的就大不一样了!网络日志我就不用发了吧!百度一搜就有! 最后奉上 一些直连免流ip,有些是我提取的,有些是别人提取的,所以可能会有重复,请无视!由于地区原因请自行测试!

218.201.200.5   211.137.118.50   211.138.147.167   218.205.245.9  211.138.236.167   211.136.221.115   211.141.89.5  211.140.12.234  211.139.144.145  211.138.250.72  211.137.181.26  218.200.244.19  218.200.249.38  211.136.18.196   211.136.221.85   211.137.59.68   211.137.69.199   218.207.65.100  211.103.89.1 218.202.4.243  211.138.250.72   211.137.118.250  218.204.255.90  221.179.8.152   211.137.252.250  211.137.210.76  211.138.245.86

211.137.79.87  211.137.33.106  211.137.84.224  221.180.4.27 221.179.8.170   221.178.251.238   211.136.164.134

211.137.181.204  211.138.17.25   211.139.2.75   218.200.160.10  221.179.8.164   221.181.13.25   211.136.110.74   218.202.81.219  221.130.45.154  211.136.110.75   221.130.45.134  211.136.93.36

211.136.26.206   211.137.118.250   211.143.149.167 211.138.198.26   211.140.19.9   218.207.75.8    211.138.224.55

218.201.25.130   211.137.160.95   221.179.8.171   218.200.160.29  221.176.83.73   211.139.95.123   211.138.74.134   218.203.121.35   218.202.0.241   211.141.90.211   221.130.119.94   218.200.160.30   211.136.165.53  211.136.101.123  211.140.17.81  211.140.17.110   221.130.33.21   211.139.145.130   221.130.45.131   221.130.33.18 

<四>首先找到一个移动免流量的下载链接,如:http://abc.com/downlod#safgh.apk ,然后下载软件,用抓包工具进行抓包,抓出host,比如是111.11.245.14,然后填到手机apn的代理中就行了。如果抓到网址,查出ip就行。也可以用当地移动手机营业厅网址查出ip,查出来wap.xx.10086.cn的ip填进去就行。还有一种方法,给自己的手机号码发送一条彩信,插入4张照片,发送成功后立即断网,打开抓包工具,然后立即开网下载彩信,下载完成后停止抓包,找出host,如果host是网址,就到ip138查出ip地址就行了。

<五>利用网站 http://www.66ip.cn/ 里面的IP,使用免流圣子IP。

相关软件下载:

链接:http://pan.baidu.com/s/1780ou 密码:385n

链接:http://pan.baidu.com/s/1i38GgID 密码:db5k

链接:http://pan.baidu.com/s/1kT1QyQ7 密码:r3t6

链接:http://pan.baidu.com/s/1hqhDNxE 密码:qc5a

链接:http://pan.baidu.com/s/1bn76ukR 密码:gt6d

更过的免流教程可以查看这里:免流教程

暂时就总结到这里,希望小伙伴补充,这段时间会有点事,估计不会及时的更新和回复了,欢迎大家留言/评论交流。


admin 发布于  2015-8-28 20:10 

博客决定取消使用pjax技术加载页面,简单分析 PHP

pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。

同时支持了缓存和本地存储,下次访问的时候直接读取本地数据,无需在次访问。

并且展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。

这是它的开源主页 : https://github.com/welefen/pjax

我的博客也在前不久使用这项技术,具体的教程请前往Finlly博客查看:关于PJAX局部刷新 ;


但是使用之后,发现有如下几个问题:

1:我得服务器资源占用比不使用pjax之前多了30%,大神勿笑,也可能是我小菜不会优化;

2:加载之后会发现,会出现不能够加载其他的js,比如不能够加载第三方分享的js文件,或者是代码高亮插件的js,导致代码的高亮,复制,又或者是图片highslide插件等功能失效;

下面几点来至于互联网:

3:这个技术使用的场景很受限制,据我所知真正用这个技术的网站很少

因为html5的新api:pushState和replaceState的出现,让url脱离了#号。更重要的是支持了浏览器前进后退的事件触发onpopstate

4:不利于SEO,当然,你可以针对爬虫做处理,但那是自找麻烦

5:不同页面引用的资源很可能不同,切换页面需要动态加载新的js和css,容易和旧的CSS和JS产生冲突

6:不刷新页面,意味着页面占用的资源得不到释放,如果有内存泄露问题,页面会越来越卡

不知道各位有什么好的优化方案没,或者是在使用pjax过程中有哪些问题。

题外话:还是HTML5方便,赶紧学习html5,因为html5的新api:pushState和replaceState的出现,支持浏览器前进后退的事件触发onpopstate,pushState的功能具体来说就是修改url而页面无跳转,并且该url会被存放在历史记录中

当然为了满足某些需要你不需要存放在历史记录中就需要使用replaceState

而浏览器上前进和后退都会触发onpopstate能获取你设置的State对象


拿welefen的pjax说下原理:

1.在用户超链请求的时候拦截超链

2.拦截后同时发出两种行为 ajax请求 以及 pushState


实际上他的设计是线性的,在超链被拦截后才会触发。

我更倾向于观察者模式,state被改变的时候触发。

如果你真的想用在项目中我推荐你直接使用 balupton/history.js · GitHub

在不支持html5的浏览器上采用了hash作为代替并且监听了statechange事件



admin 发布于  2015-8-26 12:56 

为Wampserver My Projects自动添加localhost前缀 技术文章

我们安装好wampserver最新版之后,在菜单里面就会有My Project选项:

01.png

我们在wamp的默认www目录(根据你自己的安装路径)下面创建两个文件夹,emlog531和JavaScriptStudy,重启wampserver就可以在My Project里发现了。

但是我们默认打开其中的任意一个都会发现在浏览器里面的路径是这个样子的:

2015-08-26 09_23_53.png

根本就不能打开。。。。

我们打开localhost,在下面的 Your Projects 里面会发现打开项目依然不能访问,下图是我修改之后的,路径自动加上了localhost,就可以正常访问了,

2015-08-26 09_27_44.png

2015-08-26 09_25_32.png

而且修改之后我们直接在wamp的托盘菜单里面的菜单里面的My Projects项目可以直接在浏览器打开并正常访问,具体的修改反方法如下:

1>打开 \wamp\www\index.php

修改如下这行代码:


$suppress_localhost = true; 修改成 :$suppress_localhost = false;


2015-08-26 09_24_36.png

2>打开 \wamp\scripts\refresh.php

修改如下这行代码:


 Parameters: "http://'.$projectContents[$i].'/";  修改成 :  Parameters: "http://localhost/'.$projectContents[$i].'/";  其实就是在 http://后添加 localhost/


2015-08-26 10_09_13.png

完成上面两部之后就可以重新启动wampserver看效果了。一般就成功了。如果还是不行,那就参考这篇文章:



自定义wamp_server的网站根目录

相关文章推荐:

修改WampServer的默认浏览器小计--mrxn's Blog

修改wamp中的MySQL默认密码

在 WampServer 上手工安装 PHP 的多个版本


admin 发布于  2015-8-26 08:18 

【原创实践】物理机安装Kali2.0 i386和Windows10 X64构成双系统详细教程 Linux

2017/02/02 更新:这篇文章是在BIOS+mbr的基础上写的,如果(你的easybcd不能用)是gpt+uefi 请查看这篇文章: 在UEFI+GPT下使用rEFind实现Win10 + Kali2.0 双引导:https://mrxn.net/Linux/UEFI-GPT-rEFind-Win10-Kali20.html


首先给大家看一下Kali2.0 i386和Windows10 X64安装成功后的截图吧:

IMG_20150818_214200.jpg

从上图知道,我这里是使用Grub2引导的Windows系统.后面我会讲为什么这么做,比较适合新手.

首先说点需要注意的,你看看你是否遇到过这种情况,我把我安装的时候遇到的问题和群里童鞋们出现的问题综合了一下:

<一>镜像的选择:很多的人都是看自己的CPU来选择,比如Intel的使用i386.AMD的使用AMD64的.但是我用我的实践证明了,有的时候,AMD的CPU安装AMD版本的镜像是不行的,会卡在如下的界面,我想很多的人大概都遇到过.特别是使用AMD的CPU的童鞋.如果刻录了与你CPU型号相同的Kali镜像,但是却卡在如下图所示的环节,可以考虑重新刻录i386的镜像试试.因为哪个版本都可以使用的,只是性能上有多多少少的折扣。


IMG_20150818_215340.jpg

<二>BIOS的设置,如果你是双显卡,安装的时候最好是使用集显,可以大大避免卡在安装界面进入后的第二步上。一般是在BIOS的config选项下面的Display里面设置使用集显还是双显卡。集显字样如:Intergrated Graphics 。等你安装完Kali之后,可以再进入BIOS设置重新启用双显卡。

IMG_20150818_215659.jpg

IMG_20150818_215723.jpg

<三>硬盘的模式选择,如果是安装双系统,推荐使用 AHCI + Legacy Only 模式,这样兼容性和性能都兼顾,但不是最好的性能哈,兼容和性能兼得,性能必然会有所牺牲的。如下图所示的硬盘模式设置:

IMG_20150818_215640.jpg 

IMG_20150818_215748.jpg

<四>使用Windows系统自带的磁盘管理工具先压缩出来一部分给Kali 使用,一般推荐最少20G,可以大一点,比如30G比较合适。

在我的计算机上右键-管理-磁盘管理-选一个磁盘右键-压缩卷-输入压缩大小,比如:30720(30G),等待压缩完毕,退出来,关闭计算机,准备安装。

<五>如果你重新刻录镜像的时候不能够格式化U盘或者是U盘容量大小有问题,请查看这篇文章的解决方法:


使用Win32DiskImager做安装kali启动U盘后的那些事儿


019.png020.png021.png022.png

下面开始详细的教程:

首先是使用windisk32这款软件来制作Kali的安装启动U盘.

QQ截图20150824200602.png

选择你要安装的Kali版本镜像文件,我这里已Kali 2.0 i386做演示,也是我自己物理机安装的.记得在选择镜像的时候有个小细节,右下角的过滤选择所有文件类型:

QQ截图20150824200413.png,不然会出现你在你放镜像的文件夹下面找不到镜像。

找到镜像之后,打开就OK,然后是核对右边的Device(U盘/光盘)是否正确,软件默认是会选择U盘/光盘的,不知道的可以去我得电脑里面查看。这两项核对正确无误之后就可以点击下面的 write 开始写入镜像操作了。等待写入完成,一般是10分钟左右,主要依据你的U盘/光盘写入速度。

下面进入安装环节,关机,重启F12,到选择启动盘界面,或者是在BIOS设置好U盘为第一启动项(这不会就去百度吧,或者是别玩双系统了):

live.jpg

在这个界面我们可以测试能够安装。选择第一项的  Live (686-pae)更具你自己刻录的镜像,括号里面的可能会有不同,比如  Live (adm64) 等,回车进入 Kali Live 界面,记载系统文件等等,速度很快,如果你的加载中途停止了,卡在如图所示的位置,那你可以考虑换镜像重新刻录尝试:

IMG_20150818_215340.jpg

如果顺利,会进入Kali Live界面的。如下图所示:

live01.jpg

如果进入这里了,就表明你可以成功安装Kali 的几率提升到95%了。当然,如果你在Windows上忘了压缩分区给Kali,别着急,这里也可以分使用parttion分区命令来分区的(推荐在Windows上分区好,对于新手比较方便,老鸟直接飞过吧)。具体的分区方法,这里就不叙述了,很多的。节省空间,这篇文章已经很长了。。。

OK,点击右上角的那个倒三角,在弹出来的菜单里,选择reboot,选择now。重启,重新进入U盘安装Kali界面。这里我选择install。如果顺利,就来到选择语言的对话框,通过方向键向上选择中文(简体)。

001.png

接着是询问是否要以选择的语言安装,通过Tab键选择 是。

002.png

选择区域:中国,回车

003.png

选择汉语,回车

004.png

就开始加载数据,准备进行下一步,等待这个过程完毕,一般很快,几秒钟

005.png

接着来到了 给主机命名,随便输入你喜欢的名字,比如:Mrxn

006.png

接着是域名,选择不填写吧。直接Tab键 选择  继续

007.png

接着是 输入root用户密码,可以在这里设置,也可以在后面设置,我就在这里设置了吧,root 然后Tab键切换到 继续 回车

008.png

然后来到 重新输入刚刚输入的root密码进行确认,root Tab键到 继续之后,回车

009.png

就到了,分区这一步,很重要的步骤,因为刚刚在Windows上压缩了一个空的分区,所以会出现第一个:向导-使用最大的连续空闲空间,所以我这里直接就选择这个,回车进行下一步。如果你没有提前分区,或者是项自己设置boot分区根分区/,hone分区等等,请自行选择下面的手动。新手就别去折腾了。。小心折腾坏两个系统。

010.jpg

接着来到选择是否把所有文件放到一个分区中,推荐新手选择这一个,然后 回车。

011.jpg

然后就是分区结束最后确认阶段,选择最后一个:分区设定结束开始将更改写入磁盘,然后回车进行下一个环节

012.jpg

如果你是选择手动分区,并且自己选择了分区,就会弹出下面这两个对话框,我这里不是手动分区,所以不会出现这个,这只坐介绍,013.jpg014.jpg

接着是格式化分区的步骤,手动和向导分区都有这一步

015.jpg

格式化结束就会开始安装系统了,复制系统文件到磁盘了

016.jpg

漫长的等待数据复制完成之后,就会弹出选择是否进行网络安装,直接选择否,因为还没有修改源,会很慢,等死你。。。

017.jpg

接下来就是非常重要的步骤:安装Grub到那个分区,我这里选择是,安装到主mbr上,利用Grub来引导Windows。如果你想让Windows来引导Kali就选择否,然后选择将Grub安装到那个分区,如果/boot单独分区则添/boot所在的分区,如果/boot没有单独分区,则添/目录所在的分区;

018.jpg

Grub安装完毕之后就是重启,重启之后就可以看见熟悉的Kali Grub引导菜单,选择Kali 进入,进入Kali之后,我们需要使用下面的命令来更新Grub引导使Windows引导加入到引导菜单里面,打开终端命令面板,输入如下的命令更新Grub:

su

sudo update Grub2

如果你是以root登录的系统,直接输入 update Grub2  就可以了。然后reboot,就会发现已经有Windows load (sda1)等字样,选择并回车,就可以进入Windows系统了。如果不能进去Windows系统,请使U启动,大白菜,老毛桃之类的PE工具进行引导修复,就OK了。修复之后需要在Windows使用easybcd添加Kali 启动项。

如果是将mbr安装到其他分区,并非主分区,那么重启后是进入Windows系统的,进入Windows系统之后,下载easybcd,添加Kali启动项。具体的教程,可以百度搜搜,很多,也很详细的。

至此Kali + windows双系统安装就结束了,如果在安装中有什么问题或者是我写的不对的地方,欢迎大家评论留言:https://mrxn.net/guestbook.html或者是加我QQ-1451657099讨论。欢迎大家去折腾,生命在于折腾。生命不息,折腾不止!come on!

欢迎转载,请注明出处:https://mrxn.net/?post=363 毕竟写这么久不容易,请相互尊重,谢谢。


admin 发布于  2015-8-25 00:24 

全自动化操作的GoAgent-一键翻墙+安卓fqrouter v2.12.2 稳定版/测试版 翻墙工具

想要了解更多的查资料相关教程,技术,工具,vpn,请看这里:点我 .

安卓,苹果,Mac,Windows 三平台支持的,免费加速器下载 2020最新可用 下载链接:点击下载

今天给大家带来的是一键式查资料工具GoAgent的最新修改进化版,也可以参看我之前发布的:查资料传送门

如果访问Google或YouTube等网站出现如下图所示的https警告.解决办法请查看这篇文章:解决SSL错误

01.png

02.png

下面这两个GoAgent任意其一都可以.推荐第一个,全自动化...速度也很快.

安卓版:

fqrouter v2.12.7 测试版.apk大小:8.8M | 来源:国外网盘
已经过安全软件检测无毒,请您放心下载。
fqrouter v2.12.2 稳定版.apk大小:8.8M | 来源:国外网盘
已经过安全软件检测无毒,请您放心下载。
GoAgent集合大小:22M | 来源:百度网盘
已经过安全软件检测无毒,请您放心下载。

admin 发布于  2015-8-22 17:14 

WebStorm-PHPStorm-RubyMine-Pycharm-最新通用破解注册机 破解软件

WebStorm jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。但是他是收费的!下面是注册成功的截图:

01.png

今天,Mrxn教你如何破解她!想上就上!哈哈,别邪恶、、、

最新版是10.0.4的,官网下载链接:http://download-cf.jetbrains.com/webstorm/WebStorm-10.0.4.exe 下载后,安装完毕,(如果安装不会,就别往下看了,免得你头晕眼花-_-|);运行我下面提供的注册机,直接打开,输入你想要注册的名字,点击Generate,OK,再点击copy,然后粘贴到你的注册框里面久OK。

02.png

如第一图:点击左下角的Register,然后打开注册机,输入你想要注册的名字,点击Generate,OK,再点击copy然后粘贴到你的注册框里面久OK。

03.png

最后,一个小技巧:代码自动换行设置:view - Active Editor - Use Soft Wraps 如图所示:

04.png 


WebStorm系列破解注册机大小:200KB | 来源:百度网盘
已经过安全软件检测无毒,请您放心下载。

admin 发布于  2015-8-22 15:01 

最新kali2.0 Linux编译安装RT2870/3070无线USB网卡驱动教程+reaver参数详解+PING方法策略 Linux

01.终端输入#lsusb,会看到再出现的几行中有USB、ralink等字样,一般是倒数第二行。。。确定下ID代码:ID 148f:5370 Ralink

1440052049131spqwp_tuhaokuai_com_0x0.png


02.下载驱动,可以google/百度搜索关键字----ralink rt2870/3070(根据自己的网卡型号来搜索)----进官网后选择Download字样的,只要芯片型号对就行,你说那要是不知道芯片型号?找度娘--搜索---你USB网卡型号+芯片型号(比如托实N95芯片型号)---度娘会告诉你芯片型号的!好了,这步搞定。

03.下载玩之后解压,tar -zxvf filename.tar.bz2 类似的。解压完毕后进入解压完毕的那个文件夹,然后进入 os/linux 目录下,编辑config.mk,可以使用命令 leafpad config.mk 之后在leafpad的窗口里搜索并找到,修改下面这两句,启用WPA特性:

HAS_WPA_SUPPLICANT=y  

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

1440052842b7xka164_tuhaokuai_com_0x0.png

04.编译(需要root权限),make , makeinstall ,modprobe rt3070(根据自己的网卡型号),exit 。

注意:执行modprobe rt3070可能会产生一个警告: WARNING: All config files need .conf: /etc/modprobe.d/ndiswrapper, it will be ignored in a future release. 无视掉,没有关系!!!或许还有其他的警告或者是提示都不用管,稍等执行ifconfig -a 查看无线网卡驱动是否安装激活。

1440052226czu8p2i1_tuhaokuai_com_0x0.png


如果想系统每次启动就会自动驱动这张网卡,可以将模块加入/etc/modules,这样代码:echo rt3070 >> /etc/modules





下面介绍一下reaver与ping 之间的详细参数 和一些破解时设置的技巧,菜鸟请看,绝对有用,老鸟无视,直接飞过~~~~~

【Reaver v1.4 参数说明】

-i, --interface=<wlan> Name  of  the  monitor-mode

interface to use

网卡的监视接口,通常是 mon0

-b, --bssid=<mac> BSSID of the target AP AP 的

MAC 地址

Optional Arguments:

-m, --mac=<mac> MAC of the host system

指定本机 MAC 地址,在 AP 有 MAC 过滤的时候需要使用

-e, --essid=<ssid> ESSID of the target AP 路由器的

ESSID,一般不用指定

-c, --channel=<channel> Set the 802.11 channel for

the interface (implies -f) 信号的频道,如果不指定会自动扫

-o, --out-file=<file>Send output to a log file [stdout]

标准输出到文件

-s, --session=<file> Restore a previous session file

恢复进程文件

-C, --exec=<command> Execute  the  supplied

command upon successful pin recovery pin 成功后执行

命令

-D, --daemonize Daemonize reaver

设置 reaver 成 Daemon

-a, --auto Auto  detect  the  best  advanced  options

for the target AP 对目标 AP 自动检测高级参数

-f, --fixed Disable channel hopping

禁止频道跳转

-5, --5ghz Use 5GHz 802.11 channels 使用 5G 频道

-v, --verbose Display  non-critical  warnings  (-vv  for

more) 显示不重要警告信息 -vv 可以显示更多

-q, --quiet Only display critical messages 只显示关键信息

-h, --help Show help 显示帮助 Advanced Options:

-p, --pin=<wps pin> Use the specified 4 or 8 digit

WPS pin

直接读取 psk(本人测试未成功,建议用网卡自带软件获取)

-d, --delay=<seconds> Set the delay between pin

attempts [1]

pin 间延时,默认 1 秒,推荐设 0

-l, --lock-delay=<seconds> Set the time to wait if

the AP locks WPS pin attempts [60] AP 锁定 WPS 后

等待时间

-g, --max-attempts=<num> Quit  after  num  pin

attempts

最大 pin 次数

-x, --fail-wait=<seconds> Set the time to sleep after

10 unexpected failures [0]

10 次意外失败后等待时间,默认 0 秒

-r, --recurring-delay=<x:y> Sleep for y seconds every

x pin attempts

每 x 次 pin 后等待 y 秒

-t, --timeout=<seconds> Set the receive timeout

period [5] 收包超时,默认 5 秒

-T, --m57-timeout=<seconds> Set  the  M5/M7

timeout period [0.20] M5/M7 超时,默认 0.2 秒

-A, --no-associate Do not associate with the AP

(association must be done by another application)

不连入 AP(连入过程必须有其他程序完成)

-N, --no-nacks Do not send NACK  messages

when out of order packets are received

不发送 NACK 信息(如果一直 pin 不动,可以尝试这个参数)

-S, --dh-small Use small DH  keys to improve crack

speed

使用小 DH 关键值提高速度(推荐使用)

-L, --ignore-locks Ignore locked state reported by the

target AP 忽略目标 AP 报告的锁定状态

-E, --eap-terminate Terminate  each  WPS  session  with

an EAP FAIL packet

每当收到 EAP 失败包就终止 WPS 进程

-n, --nack Target AP always sends a NACK [Auto] 对

目标 AP 总是发送 NACK,默认自动

-w, --win7 Mimic a Windows 7 registrar [False] 模拟

win7 注册,默认关闭

PIN码

破解简单解释:

PIN码分前4和后4,先破前4只有最多一万个组合,破后4中的前3只有一千个组

合,一共就是一万一千个密码组合。 10的4次方+10的3次方=11000个密码组合。

   当reaver确定前4位PIN密码后,其任务进度数值将直接跳跃至90.9%以上,也就是

说只剩余一千个密码组合了。总共一万一千个密码!

学习过程

1.在虚拟机找到点击打开。如果电脑装有多个无线网卡,请先发指令

ifconfig -a   确认你用哪一个网卡WLAN0或是WLAN1

(下面的指令都是以单一网卡WLAN0为例)

2.出现root Shell窗口。敲入第一条命令“ifconfig wlan0 up” 加载

usb网卡。

接下来“airmon-ng start wlan0” 监听模式已激活到了

mon0。

如果出现网卡没有正确加载,8187驱动RF-kill的参考后记1解决问题。

3.第二条命令“airodump-ng mon0” 查看周边路由/AP的信息。

记录下你要学习的路由MAC地址。提供几个查看可以使用PIN码学习路由的方法。

特别提示:只有AP开启了WPS、QSS功能,才可以用PIN法学习PSK密码!如何查看

AP是否开了WPS、QSS呢提供几个小方法?

a) reaver1.3下使用使用命令walsh -imon0-C 查看针对xiaopangOS3.2版本

b) reaver1.4下用新的指令:WASH -i mon0 -C  C是大写在wps locked一项中有显示的。

c) WIN7下,用通常的方式连接AP,如果在提示输入密码框下面,出现“通过按路由器

按钮也可以连接”,就确认此AP开了WPS、QSS。

d) 在螃蟹软件中——可用网络——模式下带N,G的这个不是很准

最准确的是下面这个选项

点击PIN输入配置,选择接入点,哈哈出来了吧,这里面都是可以学习的目标

需要注意的是,查看后面有的是不支持pin码连接的,这样的就别弄了,后果你知道。

1. 重新开启一个root Shell窗口,第三条命令“reaver -i mon0 -b MAC -a -S -vv” 抓PIN

码。注意,MAC中冒号不可省略,MAC地址的字母大小写均可,-S是大写字母, -vv

是两个V不是W!# _) }

-i 监听后接口名称

-b 目标mac地

-a 自动检测目标AP最佳配

-S 使用最小的DH key(可以提高破解速度)  

-vv 显示更多的非严重警告

-d 即delay每穷举一次的闲置时间 预设为1秒

-t 即timeout每次穷举等待反馈的最长时间

-c指定频道可以方便找到信号,如-c1 指定1频道,大家查看自己的目标频道做相应修改 (非TP-LINK路由推荐–d9 –t9参数防止路由僵死

reaver -i mon0 -b MAC -a -S –d9 –t9 -vv)

小结-学习时应因状况调整参数(-c后面都已目标频道为1作为例子

目标信号非常好:  reaver  -i  mon0  -b MAC  -a  -S  -vv  -d0  -c 1

目标信号普通:  reaver  -i  mon0  -b MAC  -a  -S  -vv  -d2  -t .5  -c 1

目标信号一般:  reaver  -i  mon0  -b MAC  -a  -S  -vv  -d5  -c 1

学习开始了,然后就是漫长的等待。

如果信号好的话2-4小时内进度走到100%你就会有惊喜发现。

PIN破密对信号要求极为严格,如果信号稍差,可能导致破密进度变慢或者路由死锁等(重

复同一个PIN码 或 timeout)。AP关闭了WPS、或者没有QSS滴,会出现

WARNING: Failed to associate with XX:XX:XX:XX:XX:XX (ESSID: XXXX)

5.如果出现超长的wpa PSK可以使用第四条命令“reaver –i mon0 –b MAC –p WPA PSK”

MAC为目标的mac地址,WPA PSK为获取到的超长密码。作用是将指定的pin码获取

wpa密码psk。

6.常用命令截图

7.不是所有的路由都支持pin学习。AP关闭了WPS、或者没有QSS滴,会出现

WARNING: Failed to associate with XX:XX:XX:XX:XX:XX (ESSID: XXXX)  学习过程中也可随时随地按

Ctrl+C终止破解,重复同一个PIN码 或 timeout可终止,reaver

会自动保存进度。保存进度后重复第2-4项内容,先看看AP信号强弱或是否关机,继续

学习,则重复命令reaver -i mon0 -b MAC -vv这条指令下达后,会让你选y或n,选y后

就继续了。当reaver确定前4位PIN密码后,其工作完成任务进度数值将直接跳跃至90.9%

以上,也就是说只剩余一千个密码组合了(总共一万一千个密码)。这个时候离成功就差

一步之遥了,呵呵hold住哦!!!

小技巧:只要Root Shell窗口不关闭,按方向键的上下会出现你输入过的命令方便调用。 8.虚拟机中快照的保存方法

找到这两个图标,第一个是保存快照。第二个图标是加载上一次的快照。

快照的作用:类似迅雷的断点续传,可以保存上次学习的进度,防止目标pin僵死,无法

继续前功尽弃,这是光盘启动、u盘启动、硬盘启动都无法避免的。而虚拟机则可为自己

上一份保险。

载入快照后如果无法继续,可以尝试先卸载掉usb网卡,然后重新加载。然后在开启窗口  

继续上次的学习。学习过程中也可随时随地按Ctrl+C终止破解,重复同一个PIN码 或

timeou t可终止,reaver会自动保存进度。

reaver -i mon0 -b MAC -vv这条指令下达后,会让你选y或n,选y后就继续了。

9.光盘启动、u盘/硬盘启动保存学习进度的方法

reaver1.3的保存路径:打开桌面最后边一个图标xfec 定位到/etc/reaver下,有一个wpc

后缀的文件,名字是你学习的目标的mac地址,复制到你的U盘,路径是/mnt/sdb1(一

般是这个,自己找找,要是没有东西就右键mount),以后重启到xiaopanOS,把这文件

复制到原来的路径,再试试,可以载入进度了!o(∩_∩)o 哈哈

reaver1.4的保存路径:保存目录:/usr/local/etc/reaver

如果xfe文件管理器未获得ROOT权限。请先运行root shell后输入xfe即可获得root权

限。保存方法同上。下次重启动后,再手工复制到/etc/reaver/ 目录下即可

MAC地址.wpc 其实是个文本文件,格式与破密用字典酷似,其第一行和第二行,分别是

4位数和3位数的指示位置数(+4)。如果进度到99.9%后,AP死机,可打开它,总共1000

个3位数,找出剩余的十几个PIN码,用QSS、WPS客户端软件,手动测试、破密。

如果是跑了99.99%死机,  意味吗?  你懂的吧? 最后一个PIN就是。

以下这个命令是指定PIN码,获得WPA 密码PSK

reaver -i mon0 -b MAC -p PIN8位数

如果上述措施不后,仍不见PSK密码,可能因软件原因,漏码了!需要重新跑后三位数!

(前四位正确的话)reaver -i mon0 -b MAC -p PIN前4位数

1.遇见8187驱动RF-kill的  xiaopanos

对8187的网卡支持不是太好,有时会出现驱动加载不了,就是输入第一条命令

后出现operation not possible due to RF-kill,我想大部分人也遇到过把。新版本0.34使用

命令rfkill unblock all解决这个问题,容易出现问题的是0.3.2版本的。

第一种尝试的解决办法:这时候就断开USB,等上大概10几秒把再插上,连续插拔几次

总有一次会好。

第二种尝试的解决办法:先运行一下奶瓶扫描一会,然后退出奶瓶。虚拟机USB图标(USB

图标上的小点)由深绿变成浅绿色,变浅绿就输入

ifconfig wlan0 up

airmon-ng start wlan0

第三种解决办法:出现错误后的解决

a.Root Shell窗口敲击命令“ifconfig -a”,查看最后一项是否出现wlan0,这个就是你的无

线网卡。如果没有出现拔插网卡,直到测试出现wlan0。

b.接下来输入第二条命令“ifconfig wlan0 up”,接下来第三条“airmon-ng start wlan0”载入

网卡。如果出现operation not possible due to RF-kill,不要惊慌继续输入命令“airmon-ng start

wlan0”多输入几次,然后拔出USB网卡,再插入,重复第2步的命令。一般情况下就会

正常载入了括号内只会显示monitor mode enabled on mon0,不会出现operation not possible

due to RF-kill,如果不行以上步骤再次重复,直到解决。

c.输入“airodump-ng mon0”(如果括号内显示的是monitor mode enabled on mon1,相应的

命令就改为airodump-ng mon1,其他的类似),测试一下,要是可以正常扫描,说明8187L加载成功,就可以reaver了,你懂的!

d.小技巧:只要Root Shell窗口不关闭,按方向键的上下会出现你输入过的命令方便调用。

2. reaver

破密进度表 全能保存办法

用u盘或者硬盘启动xiaopanos可以保存进度,重启不会丢失,方法如下:

打开桌面最后边一个图标xfec 定位到/etc/reaver下,有一个wpc后缀的文件,名字是你

破解的mac地址,复制到你的U盘,路径是/mnt/sdb1(一般是这个,自己找找要是没有东

西就右键mount),以后重启到xiaopanOS,把这文件复制到原来的路径,再试试,可以

载入进度了

reaver的进度表文件保存在/etc/reaver/MAC地址.wpc  用资源管理器,手工将以MAC地

址命名的后辍为.wpc的文件拷贝到U盘或硬盘中,下次重启动后,再手工复制到

/etc/reaver/ 目录下即可。

MAC地址.wpc 其实是个文本文件,格式与破密用字典酷似,如果进度到99.9%后,AP

死机,可打开它,总共1000个3位数,找出剩余的十几个PIN码,用QSS、WPS客户

端软件,手动测试、破密。

3. PIN

破密降低timeout、同码重复的非常给力措施之一

首先是PIN难易与MAC无关的!主要跟路由所在频道的 信道拥挤程度相关!(同一频道

中有几个路由,特别是强信号的AP会相互干扰,造成 timeout

一般AP默认频道cn 6,部分为

解决“同频干扰”、“邻频干扰”的原则:设法 调虎离山(这个我想大家都懂的)。

将能调动的AP远离破密AP至少3个CN以上

5.如果90.9%进程后死机或停机,可以使用-p参数

请记下PIN前四位数,用指令:reaver -i mon0 -bMAC -a -vv -p XXXX(PIN前四位数

会从指定PIN段起破密.

6.只有AP开启了WPS、QSS功能,才可以用PIN法破PSK密码!如何查看AP是否开了WPS、QSS呢?

reaver1.3下 使用airodump-ng -mon0 MB一栏下,出现 54e. 是开11N的WPS的(不是

54e是有小数点的54e.)

reaver1.4除可使用上述命令外也可以用新的指令:WASH -imon0-C在wps locked一项中

有显示的。

WIN7下,用通常的方式连接AP,如果在提示输入密码框下面,出现“通过按路由器按

钮也可以连接”,就确认此AP开了WPS、QSS。PIN破密对信号要求极为严格,如果信

号稍差,可能导致破密进度变慢或者路由死锁等(重复同一个PIN码 或timeout)。AP

关闭了WPS、或者没有QSS滴,会出现

WARNING: Failed to associate with XX:XX:XX:XX:XX:XX (ESSID: XXXX)

7. 通过mac地址查找路由品牌 有时候

破解时SSID通常被改成其他的 不好判断 可以打开下面这个网址:

http://standards.ieee.org/develop/regauth/oui/public.html

输入你的ap mac的前三位,接下来就不用说了吧?破解 至少也要知道对方用的是啥路由

总结发现这个方法最快 也最好用 对破解有一定的帮助

8. 很简单地扫描支持pin解的路由

在xiaopanos下打开一个root shell 如果是1.3或之前的的就键入walsh -i mon0 -C(一般是

这个,不是的话改成你的网卡,注意c要大写)

1.4要把walsh改成wash 片刻就罗列出周围支持wps的路由,在wps locked一项如果是

N的话就可以pin破解

9. 在

xiaopanOS 中,打开的窗口最小化后,就找不到了,因为不像windows有下方的任

务栏,此时按Alt+Tab键,会出现一个弹出菜单,选择rootshell,原来最小化的窗口就会

出现了。

10. PIN僵死锁定后,无奈的方法。也可以攻击隐藏ssid的路由(不推荐使用)aireplay-ng-0 1000 -a SSID

的MAC -c 合法客户端的MAC 网卡端口 就是让客户端断开连接1000次

11. 【公共

wifi密码】

中国移动:卡号:15821275836 密码:159258;卡号:15800449592 密码:159258;卡

号:15800449954 密码:159258;卡号:15800449940 密码:159258。中国电信:但凡

你的手机能搜到电信的chinanet的热点覆盖,全国公免账号:07953591377密码3591377。

有福同享!

12. 利用虚假连接调整天线,快速穷举pin码的方法;

首先利用8187管理软件来精确调整天线的位置。(因为8187界面非常直观,友好,可以

看到当前连接ap源的信号强度和接收品质的动态条)把信号先调得接收强度,接收品质

为最优秀为破解来打下扎实的基础。

   最笨的方法就是把要破解的信号连接上。那你会问了能连接上就不用破了。是兄弟们没

有反应过来,呵呵,听我慢慢说:你可以虚假的连接啊。比如:要破这个1234p这个ssid

的信号。双击这个信号后会弹出输入密码对话框,你可以按10个1嘛。下面也一样输入

10个1 。这样就会虚假连接。能在8187管理界面上看到信号接收强度和接收品质的动

态图。虽然上不去网,但是完全可以根据这两项把天线调整到最佳的接收状态,使之

信号校对到最优秀状态。把信号调整好后,你说破解顺利不啊?还会出timeout这种丢包

情况吗?会相当顺利的。呵呵呵呵。

配合破解要有好的定向天线,我是硬件版块的兄弟。我们经常自己diy大增益的天线。使

我们的信号强上更强,这叫好马配好鞍,使破解无往而不利,综上所术:这就是我要分享

的小经验。我最慢也没有超过30分钟 的啊。一般全是15分钟就搞定了。。新手兄弟:

明白了吧 .

13. 破解隐藏SSID前提:一定要有合法的客户端连上

1.在bt3/4/5下先打开一个shell,输入airodump-ng 网卡端口

2.打开另一个shell,输入aireplay-ng-0 10 -a AP的MAC -c 合法客户端的MAC 网卡端口,

可能这个命令由于频道不对会出错,这时就要多重输几次(重输技巧:只要按一下向上键就

可以了,如果不行,就是不是合法客户端,要再试其它的客户端),直到提示成功为止。

3.然后就可以在上个shell,看到显示出来的SSID图是借用论坛的XD的,希望是不会介意

吧 连接隐藏SSID: 输入SSID选好网络身份验证加密方式及破解出来的密码,点上即使此网络未广播也进行

连接,然后确定就看到右下角小电脑摇起来了吧!如果连不了,可能是因为这个信号太弱和

有太强的信号影响,这时就要把可用网络里的AP列表全部删除,只留下那个刚新增的AP就可以了.如果还是连不上,那就是因为这个信号太弱,windows认为它没有连接的价值,又

或是AP还设置了MAC、IP过滤。

14.在xiaopangOS下修改usb网卡mac地址的方法

macchanger -m 00:16:6f:ab:25:f9 wlan0

15. PIN

破密正常运行中,信号质量也很好的情况下,突然出现出现同码循环和大量

timeout,可能是如下原因造成的(排除关机状态)。

reaver只支持11N的PIN破密,11n先验证前4位码,11g也有PIN功能,是全码验证。

现在多数AP的无线模式是混和11bgn,当有11g设备接入时,AP自动从11N降至11g

此时,reaver会出现同码循环重复timeout! 甚至会出现WARNING: Failed to associate with

XX:XX:XX:XX:XX:XX  (ESSID: XXXX)实证中,在排除同频干扰因素后,通过扫描无线

网络,发现路由器,确实从54e.模式降为54.模式了。有人把此种现象称为临时性WPS、

PIN功能自锁从收集情况分析,目前破密的主要是TP-LINK的路由器!

解决办法:

等待这个11g设备退出无线接入,断电重启,AP自动从11g恢复至11N模式。如果遇

到上很长很长时间不重启的顽固AP,我想最有效的办法就是我们动手帮它重启,找到附) ~

近(路由器一定离我们不远)楼内单位总电源开关!下步该知道怎么办了吧————终)

极秘籍:拉开关断电,再推上开关,回家继续。

相关推荐:

破解了你的路由密码后,我还可以这样做,绝对不是蹭你网这么简单

Kali套件之nikto扫描网站漏洞应用小计


admin 发布于  2015-8-20 13:18 

最新kali2.0 aircrack-ng 无法进入监听模式问题的解决办法 Linux

2015-08-20 14.jpg

对于升级后的aircrack-ng 和以前的 大不一样,特别是监听模式的设置,很多人会出现找不到设备会命令出错的各种原因我们先去官网(http://www.aircrack-ng.org/doku.php?id=compatibility_drivers)确定自己网卡是否有被kali2集成后就可以按照以下步骤 进行新的命令操作:

第一步:在设置监听模式前先输入airmon-ng check kill结束进程

第二步:和以前一样载入网卡airmon-ng  start wlan0(自己的网卡名)

第三步:他会自动创建一个  wlan0mon接口 记住这个 接口名 而不是以前的mon0

第四步:建立监听 airodump-ng wlan0mon

如果在第四步发现出现错误 那么 有三种可能第一 你的网卡不支持监听模式,第二你的wlan0mon输入错误,第三网卡被其他进程给调用无法获取

第三种情况解决方法:

执行airmon-ng check kill

执行 ifconfig wlan0mon up

airmon-ng stop wlan0mon

最后跳回上面的第二部进行

如果还不行 那就拔掉网卡 或重启

再次ifconfig 查找时候有无线网卡 标识名一般以wlan开头

如果没有 就 ifconfig wlan0 (或者wlan1 wlan2.。。。载入) up

发现了  并载入了 wlan0跟着第一步走一般不会出错

相关推荐:

破解了你的路由密码后,我还可以这样做,绝对不是蹭你网这么简单

Kali套件之nikto扫描网站漏洞应用小计



admin 发布于  2015-8-20 12:59 

css样式设置小技巧汇总 PHP

水平居中设置-行内元素


如果被设置元素为文本图片行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的。如下代码:

html代码:

<body>
  <div class="txtCenter">我是文本,哈哈,我想要在父容器中水平居中显示。</div>
</body>

css代码:

<style>
  div.txtCenter{ text-align:center; }
</style>

水平居中设置-定宽块状元素

当被设置元素为块状元素时用 text-align:center 就不起作用了,这时也分两种情况:定宽块状元素和不定宽块状元素。这一小节我们先来讲一讲定宽块状元素。

满足定宽块状两个条件的元素是可以通过设置左右margin”值为“auto”来实现居中的。我们来看个例子就是设置 div 这个块状元素水平居中:

html代码:

<body>
  <div>我是定宽块状元素,哈哈,我要水平居中显示。</div>
</body>

css代码:

<style>
div{
    border:1px solid red;/*为了显示居中效果明显为 div 设置了边框*/

    width:500px;/*定宽*/ margin:20px auto;/* margin-left 与 margin-right 设置为 auto */ }

</style>

也可以写成:

margin-left:auto;
margin-right:auto;

注意:元素的“上下 margin” 是可以随意设置的。

水平居中总结-不定宽块状元素方法(一)

在实际工作中我们会遇到需要为“不定宽度的块状元素”设置居中,比如网页上的分页导航,因为分页的数量是不确定的,所以我们不能通过设置宽度来限制它的弹性。

不定宽度的块状元素有三种方法居中(这三种方法目前使用的都比多):

  1. 加入 table 标签
  2. 设置 display;inline 方法
  3. 设置 position:relative 和 left:50%;

这一小节我们来讲一下第一种方法:

第一步:为需要设置的居中的元素外面加入一个 table 标签 ( 包括 <tbody>、<tr>、<td> )。

第二步:为这个 table 设置“左右 margin 居中”(这个和定宽块状元素的方法一样)。

举例如下:

html代码:

<div> <table> <tbody>
    <tr><td> <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
    </ul>  </td></tr>
  </tbody>
</table> </div>

css代码:

<style> table{
    margin:0 auto;
} ul{list-style:none;margin:0;padding:0;}
li{float:left;display:inline;margin-right:8px;}
</style>

水平居中总结-不定宽块状元素方法(二)

第二种方法:改变块级元素的 dispaly 为 inline 类型,然后使用 text-align:center 来实现居中效果。如下例子:

html代码:

<body>
<div class="container">
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
    </ul>
</div>
</body>

css代码:

<style>
.container{ text-align:center; }
.container ul{
    list-style:none;
    margin:0;
    padding:0; display:inline; }
.container li{
    margin-right:8px;
    display:inline;
}
</style>

这种方法相比第一种方法的优势是不用增加无语义标签,简化了标签的嵌套深度,但也存在着一些问题:它将块状元素的 display 类型改为 inline,变成了行内元素,所以少了一些功能,比如设定长度值。

水平居中总结-不定宽块状元素方法(三)

方法三:通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:-50% 来实现水平居中。

代码如下:

<body>
<div class="container">
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
    </ul>
</div>
</body>

css代码:

<style>
.container{  float:left;
    position:relative;
    left:50% }

.container ul{
    list-style:none;
    margin:0;
    padding:0;  position:relative;
    left:-50%; }
.container li{float:left;display:inline;margin-right:8px;}
</style>

这种方法可以保留块状元素仍以 display:block 的形式显示,优点不添加无语议表标签,不增加嵌套深度,但它的缺点是设置了 position:relative,带来了一定的副作用。

这三种方法使用得都非常广泛,各有优缺点,具体选用哪种方法,可以视具体情况而定。

垂直居中-父元素高度确定的单行文本

父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 heightline-height 高度一致来实现的。如下代码:

<div class="container">
    hi,Mrxn!
</div>

css代码:

<style>
.container{ height:100px;
    line-height:100px; background:#999;
}
</style>

垂直居中-父元素高度确定的多行文本(方法一)

父元素高度确定的多行文本图片块状元素的竖直居中的方法有两种:

方法一:使用插入 table (包括tbody、tr、td)标签,同时设置 vertical-align:middle。

说到竖直居中,css 中有一个用于竖直居中的属性 vertical-align,但这个样式只有在父元素为 td 或 th 时,才会生效。所以又要插入 table 标签了。下面看一下例子:

html代码:

<body> <table><tbody><tr><td class="wrap"> <div>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
</div> </td></tr></tbody></table> </body>

css代码:

table td{height:500px;background:#ccc}

因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。

垂直居中-父元素高度确定的多行文本(方法二)

在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell,激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式。

html代码:

<div class="container">
    <div>
        <p>看我是否可以居中。</p>
        <p>看我是否可以居中。</p>
        <p>看我是否可以居中。</p>
        <p>看我是否可以居中。</p>
        <p>看我是否可以居中。</p>
    </div>
</div>

css代码:

<style>
.container{
    height:300px;
    background:#ccc;  display:table-cell;/*IE8以上及Chrome、Firefox*/ vertical-align:middle;/*IE8以上及Chrome、Firefox*/
}
</style>

这种方法的好处是不用添加多余的无意义的标签,但缺点也很明显,它的兼容性不是很好,不兼容 IE6、7。

隐性改变display类型

有一个有趣的现象就是当为元素(不论之前是什么类型元素,display:none 除外)设置以下 2 个句之一:

  1. position : absolute
  2. float : left 或 float:right

元素会自动变为以 display:inline-block 的方式显示,当然就可以设置元素的 width 和 height 了且默认宽度不占满父元素。

如下面的代码,小伙伴们都知道 a 标签是行内元素,所以设置它的 width 是 没有效果的,但是设置为 position:absolute 以后,就可以了。

<div class="container">
    <a href="#" title="">请单击这里</a>
</div>

css代码

<style>
.container a{ position:absolute; width:200px;
    background:#ccc;
}
</style>



admin 发布于  2015-8-19 19:09