存档

2007年7月 的存档

【摄影】发几张 我老大 拍的PP,大家狂P下先

2007年7月30日

苏南博客导读
    话说苏南上学的时候有个可以混饭的铁杆老大,经常过去混饭chi。回龙观的饭店啊,都被我们吃遍了。哈哈。今天老大又想起小弟我了,发了我几张他最近拍的pp,北京植物园,还是非常的不错,大家p下先
——————–
插播广告先:北京著名设计师fisher[卢山],承接各种web,logo,ui,flash等技术活,相关网址:http://www.charmingfish.com/
——————–
1.

2.

3.

4.

5.

6.

7.

8.

 
——————–
火星人甲:卢山是那个?渔民甲?
火星人乙:你木啊你,他就是博主文中的那个铁杆老大啊。笨死了你。
火星人甲:照片好pp的说哦~~,怎么样?也给你拍个先?
——————–

作者: 苏南 分类: IT.IT 标签:

【INF】利用INF能使用系统路径的特点代替REG操作注册表

2007年7月29日

苏南博文导读
     

     话说最近苏南利用注册表给自己的ie添加了个ie右键菜单扩展,而这个扩展文件导入的时候存在了一个当前路径的问题,而注册表文件是不能获得路径信息的,需要手动添加。
    今天苏南发现了用inf文件操作注册表的办法,而inf文件是可以使用路径变量信息的,也就是说可以完美解决取得当前路径的问题,想知道是怎么做的么?跟我来~
———————–
1、要知道添加ie右键菜单要操作的注册表的键值
操作的注册表分支
hkey_current_user\software\microsoft\internet explorer\menuext
对应的注册表文件

 
2、导出分支,使用reg2inf.exe进行转换
(如果您知道如何编写inf文件,这步就可以省略了)

在google上面搜索“reg2inf软体下载”
 
3、编辑生成的inf文件,替换路径
对应sheng成的inf文件如下:

注意到里面的 “d:\program files\我的ie扩展路径\ext.html”字样
我们使用 %01% 来代替 d:\program files\我的ie扩展路径
即:d:\program files\我的ie扩展路径\ext.html ==> %01%\ext.html
保存退出即可(%01%能在inf安装shi正确de替换为当前路径的说)
 
5、放置inf文件到扩展所在的目录
右键这个inf选安装就可以拉,是不是很简单?以后把扩展文件换了路径也不怕了。
 
相关信息:
感谢 博友那蓝 帮忙做inf文件测试

作者: 苏南 分类: IT.IT 标签:

【转】快来看三维立体图了,哈哈。

2007年7月28日

苏南博文导读】
    话说这三维立体图也出来这么长时间了,但是苏南在博友晴天亮的博客里面才真正的看出立体来,非常的好玩,放到这里,与大家一起分享。说说看,你都看到了什么?(本篇中所有图均转自 博友晴天亮
 

 

 

 

 

 
写在最后:
苏南发现,盯住的地方不同,看出来的东西也是有所变化的,多多试试看哦~,别忘了把你看到的东西写下来,和大家一起分享哦(苏南)

作者: 苏南 分类: IT.IT 标签:

【PC】word2003应用技巧两则,空格问题和docx问题

2007年7月27日

苏南 
   话说出了office2007,大家就都要去感受一下,而试用的结果似乎都一样,“很漂亮,但是还是想用2003”,不知道用了vista的用户有多少想换回xp,但是我知道microsoft推广他们新产品的路上任重而道远。哈哈。
 
1、word2003下空格显示为…的问题
    多亏“悟空”同学提示,让我发现了word2003下也有空格显示为…的问题,经过摸索,发现了解决之道:(word2007下相同问题的解决方案见这里)
 
工具=》选项=》试图=》标记格式=》确保全部选项没有被选中

2、office2003如何打开office2007的文件,如docx等
牋?下载微软官方的补丁,安装,就可以用office2003打开office2007的文件了。下载地址:(office2007保存为office2003的办法见这里)
http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=zh-cn
?/div> 更多相关文章
1、为word2003添加稿纸功能
2、让word2007兼容2003的格式
3、word里面设置a3版式的办法
4、word2007下空格显示为…的问题
5、……(苏南)

作者: 苏南 分类: IT.IT 标签:

【转载】一个据说能让ff运行ie专用代码的js

2007年7月26日

苏南

baidu到的,没有实验,暂记,日后实验

转自:http://www.douneed.com/post/34.html

功用:统一接口,为firefox添加ie的方法和属性
调用:将下面的脚本存成iedom4moz.js文件,每页调用

————————

// javascript document
// 统一接口:为firefox添加ie的方法和属性
if(window.event){// 修正event的dom
  /*
                ie5    macie5    mozilla    konqueror2.2    opera5
  event            yes    yes      yes      yes          yes
  event.returnvalue      yes    yes      no      no          no
  event.cancelbubble      yes    yes      no      no          no
  event.srcelement      yes    yes      no      no          no
  event.fromelement      yes    yes      no      no          no
   */
  event.prototype.__definesetter__("returnvalue",function(b){// 
    if(!b)this.preventdefault();
    return b;
    });
  event.prototype.__definesetter__("cancelbubble",function(b){// 设置或者检索当前事件句柄的层次冒泡
    if(b)this.stoppropagation();
    return b;
    });
  event.prototype.__definegetter__("srcelement",function(){
    var node=this.target;
    while(node.nodetype!=1)node=node.parentnode;
    return node;
    });
  event.prototype.__definegetter__("fromelement",function(){// 返回鼠标移出的源节点
    var node;
    if(this.type=="mouseover")
      node=this.relatedtarget;
    else if(this.type=="mouseout")
      node=this.target;
    if(!node)return;
    while(node.nodetype!=1)node=node.parentnode;
    return node;
    });
  event.prototype.__definegetter__("toelement",function(){// 返回鼠标移入的源节点
    var node;
    if(this.type=="mouseout")
      node=this.relatedtarget;
    else if(this.type=="mouseover")
      node=this.target;
    if(!node)return;
    while(node.nodetype!=1)node=node.parentnode;
    return node;
    });
  event.prototype.__definegetter__("offsetx",function(){
    return this.layerx;
    });
  event.prototype.__definegetter__("offsety",function(){
    return this.layery;
    });
  }
if(window.document){// 修正document的dom
  /*
                ie5    macie5    mozilla    konqueror2.2    opera5
  document.documentelement  yes    yes      yes      yes          no
  document.activeelement    yes    null    no      no          no
  
  */
  }
if(window.node){// 修正node的dom
  /*
                ie5    macie5    mozilla    konqueror2.2    opera5
  node.contains        yes    yes      no      no          yes
  node.replacenode      yes    no      no      no          no
  node.removenode        yes    no      no      no          no
  node.children        yes    yes      no      no          no
  node.haschildnodes      yes    yes      yes      yes          no
  node.childnodes        yes    yes      yes      yes          no
  node.swapnode        yes    no      no      no          no
  node.currentstyle      yes    yes      no      no          no
  
  */
  node.prototype.replacenode=function(node){// 替换指定节点
    this.parentnode.replacechild(node,this);
    }
  node.prototype.removenode=function(removechildren){// 删除指定节点
    if(removechildren)
      return this.parentnode.removechild(this);
    else{
      var range=document.createrange();
      range.selectnodecontents(this);
      return this.parentnode.replacechild(range.extractcontents(),this);
      }
    }
  node.prototype.swapnode=function(node){// 交换节点
    var nextsibling=this.nextsibling;
    var parentnode=this.parentnode;
    node.parentnode.replacechild(this,node);
    parentnode.insertbefore(node,nextsibling);
    }
  }
if(window.htmlelement){
  htmlelement.prototype.__definegetter__("all",function(){
    var a=this.getelementsbytagname("*");
    var node=this;
    a.tags=function(stagname){
      return node.getelementsbytagname(stagname);
      }
    return a;
    });
  htmlelement.prototype.__definegetter__("parentelement",function(){
    if(this.parentnode==this.ownerdocument)return null;
    return this.parentnode;
    });
  htmlelement.prototype.__definegetter__("children",function(){
    var tmp=[];
    var j=0;
    var n;
    for(var i=0;i<this.childnodes.length;i++){
      n=this.childnodes[i];
      if(n.nodetype==1){
        tmp[j++]=n;
        if(n.name){
          if(!tmp[n.name])
            tmp[n.name]=[];
          tmp[n.name][tmp[n.name].length]=n;
          }
        if(n.id)
          tmp[n.id]=n;
        }
      }
    return tmp;
    });
  htmlelement.prototype.__definegetter__("currentstyle", function(){
    return this.ownerdocument.defaultview.getcomputedstyle(this,null);
    });
  htmlelement.prototype.__definesetter__("outerhtml",function(shtml){
    var r=this.ownerdocument.createrange();
    r.setstartbefore(this);
    var df=r.createcontextualfragment(shtml);
    this.parentnode.replacechild(df,this);
    return shtml;
    });
  htmlelement.prototype.__definegetter__("outerhtml",function(){
    var attr;
    var attrs=this.attributes;
    var str="<"+this.tagname;
    for(var i=0;i<attrs.length;i++){
      attr=attrs[i];
      if(attr.specified)
        str+=" "+attr.name+’="’+attr.value+’"’;
      }
    if(!this.canhavechildren)
      return str+">";
    return str+">"+this.innerhtml+"</"+this.tagname+">";
    });
  htmlelement.prototype.__definegetter__("canhavechildren",function(){
    switch(this.tagname.tolowercase()){
      case "area":
      case "base":
      case "basefont":
      case "col":
      case "frame":
      case "hr":
      case "img":
      case "br":
      case "input":
      case "isindex":
      case "link":
      case "meta":
      case "param":
        return false;
      }
    return true;
    });

  htmlelement.prototype.__definesetter__("innertext",function(stext){
    var parsedtext=document.createtextnode(stext);
    this.innerhtml=parsedtext;
    return parsedtext;
    });
  htmlelement.prototype.__definegetter__("innertext",function(){
    var r=this.ownerdocument.createrange();
    r.selectnodecontents(this);
    return r.tostring();
    });
  htmlelement.prototype.__definesetter__("outertext",function(stext){
    var parsedtext=document.createtextnode(stext);
    this.outerhtml=parsedtext;
    return parsedtext;
    });
  htmlelement.prototype.__definegetter__("outertext",function(){
    var r=this.ownerdocument.createrange();
    r.selectnodecontents(this);
    return r.tostring();
    });
  htmlelement.prototype.attachevent=function(stype,fhandler){
    var shorttypename=stype.replace(/on/,"");
    fhandler._ieemueventhandler=function(e){
      window.event=e;
      return fhandler();
      }
    this.addeventlistener(shorttypename,fhandler._ieemueventhandler,false);
    }
  htmlelement.prototype.detachevent=function(stype,fhandler){
    var shorttypename=stype.replace(/on/,"");
    if(typeof(fhandler._ieemueventhandler)=="function")
      this.removeeventlistener(shorttypename,fhandler._ieemueventhandler,false);
    else
      this.removeeventlistener(shorttypename,fhandler,true);
    }
  htmlelement.prototype.contains=function(node){// 是否包含某节点
    do if(node==this)return true;
    while(node=node.parentnode);
    return false;
    }
  htmlelement.prototype.insertadjacentelement=function(where,parsednode){
    switch(where){
      case "beforebegin":
        this.parentnode.insertbefore(parsednode,this);
        break;
      case "afterbegin":
        this.insertbefore(parsednode,this.firstchild);
        break;
      case "beforeend":
        this.appendchild(parsednode);
        break;
      case "afterend":
        if(this.nextsibling)
          this.parentnode.insertbefore(parsednode,this.nextsibling);
        else
          this.parentnode.appendchild(parsednode);
        break;
      }
    }
  htmlelement.prototype.insertadjacenthtml=function(where,htmlstr){
    var r=this.ownerdocument.createrange();
    r.setstartbefore(this);
    var parsedhtml=r.createcontextualfragment(htmlstr);
    this.insertadjacentelement(where,parsedhtml);
    }
  htmlelement.prototype.insertadjacenttext=function(where,txtstr){
    var parsedtext=document.createtextnode(txtstr);
    this.insertadjacentelement(where,parsedtext);
    }
  htmlelement.prototype.attachevent=function(stype,fhandler){
    var shorttypename=stype.replace(/on/,"");
    fhandler._ieemueventhandler=function(e){
      window.event=e;
      return fhandler();
      }
    this.addeventlistener(shorttypename,fhandler._ieemueventhandler,false);
    }
  htmlelement.prototype.detachevent=function(stype,fhandler){
    var shorttypename=stype.replace(/on/,"");
    if(typeof(fhandler._ieemueventhandler)=="function")
      this.removeeventlistener(shorttypename,fhandler._ieemueventhandler,false);
    else
      this.removeeventlistener(shorttypename,fhandler,true);
    }
  }

————————

(苏南)

作者: 苏南 分类: IT.IT 标签:

【补】【sina】绕过sina博客的限制,超级BT执行Javascript

2007年7月25日

苏南
事先声明:本博文不适合菜鸟实验,可能导致你的blog不能进入哦~~,会死机的哦~~。所以请谨慎学习。
———————-
死机后的处理办法为:
1、进入新浪博客首页
2、登录
3、选择管理我的博客
4、进入后台选择个人首页维护中的首页内容维护
5、编辑自定义面板
6、找到你的代码,修改他
———————-

    话说小弟我刚玩sina博客就发现了一个非常郁闷的事情,sina博客不支持javascript,也就是说这个博客就会缺乏很多的交互性。
 
    不过对于sina来说,这也确实少了很多麻烦,不像sohu的一样,用户一打开页面,就会被redirect的现象,但是细心的用户也会发现,sina是部分支持css的,以前我的一篇隐藏sina博客“活力地带”的文章就是利用了css进行了hook。
 
    虽然这个css能利用的缘由在于sina博客的后台系统其实是两个部分的拼盘,一个是文章发布系统,一个是各种模块发布系统,对于写代码的人来说,这两个没有区别,都是post的过程而已,但是对于sina来说,似乎就不是这个问题了,sina的文章发布系统,是过滤的非常恐怖和严格的,js,css就连乱写的“asdf”都有非常严格的过滤,但是他的自定义面板那里确是不怎么严格,否则也就不会有那个多姿多彩的博客的出现了,那些装修的非常漂亮的博客也就不复存在了,因为这些全是利用css进行hook的。
 
    哈哈,不多说了,如果想在文章正文加载js的,反正我是不会,知道的告诉我一声吧。
 
    本文说的是,在sina博客的“自定义面板”里面利用css执行js
 
一、利用css执行js的可能性及原理
   
    实际上,sina的博客系统对js的加载进行了非常严格的过滤,所有的<javascript>和<style>进行了过滤,所以以正常方式加载js或者css成了奢求,但是细心的用户会发现,自定义面板里面是可以加载css的,而css是可以执行js的,所以这里就出现了一个小小的漏洞……..那么原理就两个关键单词:css,expression
 
二、实验的步骤
 
新建一个自定义面板,
切换到代码选项,输入代码:

这端代码的要点有以下几点:
1、切换到代码栏
2、<style>这段css一定要放到最后,而且在此前要有文字,随便几句话就可以。
3、切勿多次保存,多次保存后,代码会被过滤掉
4、expression这个要随便挑几个字母改成大小写混合的,这个对于你执行js是没有害处的,但是对于绕过sina的限制确实非常有用的,否则sina会把他替换为expression_x,哈哈,不说了,sina博客管理员大人手下留情哦~~~~~
 
三、写在最后的话
 
    因为这种东西,并不能保证其一直有效性,比如我发了现在这篇文章,没准过几天这个漏洞就被补上了。
    如果您能耐心读到这里,送您几段代码:
 
1、jsencode:把当前内容unescape后当js代码执行
 

.jsencode{
 display:none;
 background:expression((this.innerhtml!="")?((eval(unescape(this.innerhtml)+’this.innerhtml="";’)==null)?"#aaa":"#123"):"#a00" );

 

2、jscode:把当前内容当js代码执行

.jscode{
 display:none;
 background:expression((this.innerhtml!="")?((eval(this.innerhtml+"this.innerhtml=”")==null)?"#aaa":"#123"):"#a00" );

 

3、addjs:添加js文件

.addjs{
 display:none;
 background:expression((this.innerhtml!="")?((eval("var s2 = document.createelement\x28’script’\x29; s2.src=’"+this.innerhtml+"’; document.body.insertadjacentelement\x28′beforebegin’,s2\x29;"+"this.innerhtml=”;")==null)?"#aaa":"#123"):"#a00" );

 
调用方法
<div class=addjs>js文件地址</div>
<link href="css样式表地址" rel="stylesheet" type="text/css" media="all"></link>

 
四、写在最最后
 
    如果这个漏洞不被填上的话,是不是跨站取cookie成为可能?我没有实验过。哈哈。玩黑客的xdjm试试吧。哈哈。我不是黑客,so 我不知道…(苏南)
 
参考文章:
http://blog.sina.com.cn/u/48338419010009zo(博主:qucf飞

作者: 苏南 分类: IT.IT 标签:

【补】【IE】如何防止ie缓存

2007年7月24日

苏南
    一周多没有写博客了,每天过来看大家的留言,真是感动啊,终于我的事情有了点眉目,也就有点心情(或者说迫不及待)的开始写blog了,本篇为其中一篇。
    本篇主要讲如何防止ie缓存
   
一、ie缓存机制是什么东东
    ie缓存机制就是在你浏览网页的时候,浏览器把它先缓存到机器里面的某个位置,一般位置都是:
c:\documents and settings\administrator\local settings\temporary internet files
    注意红字部分换成你的用户名,我用的是超级管理员,而且没有密码,大家不要来黑我哦~怕怕。哈哈。你也可以通过下图进行查找你的ie缓存。
(下图是ie7的截图)

 
二、ie缓存机制有什么作用
    ie缓存可以用来加快你浏览网页的速度,可以说是一种很典型的已空间换时间的行为,不过其实并不会占用你太多的空间,但是伴随产生的问题有:
 
1、页面不更新
    你可能看sina新闻,今天是这个新闻,明天还是,这就是因为你的ie先显示的是你硬盘里面的数据以加快浏览速度。
 
2、部分图片显示不正常
    gif图片不能正常保存,右键另存为的时候只能保存为bmp格式。
 
3、影响网页调试结果
    哈,不是web coding这条无效哦~~哈哈
 
4、泄露你在网上的踪迹,and so on~
 
     但是你也可以在这里查找你通过网站看过的flv电影什么的,或者一段很神秘的代码加载项等等~~,非常的有用。以前我就是看baidu地图的ie缓存代码进行研究的。哈。很久之前的事情了。呵呵。
 
三、如何防止ie缓存
 
对于网站编程人员,可以有以下几种方法:
1、在地址后面加上随机
    导致每次请求的地址都发生变化,从而有效的防止了ie缓存,比较常见的应用有,验证码图片地址的生成。
 
2、html:

jsp:
php:

asp:

 
对于普通网民,可以通过下图来进行操作

 
    您还可以通过ie自带的清空缓存功能或者360以及yahoo助手之类的软件进行痕迹清理操作。来达到清理ie缓存的目的。自己试试吧。哈~(苏南)

作者: 苏南 分类: IT.IT 标签:

停博….再次开放日期待定….谢谢大家的关注………

2007年7月23日

最近有点小事情,停博一段时间,谢谢大家的关注。
再次开放日期待定。
可能以后一段时间内大家无法通过im软件联系到我了,
有事电话我,电话号码你知道的。哈。
——–
1、以此纪念和伙伴在一起的日子,和你们在一起的日子很开心,真的。快哭了。
也感谢每天1k多过来看我blog的兄弟姐妹。
2、本博开博于07-03-03,停博于07-07-23,每天至少博一篇(22号的实在也没有心情补上了,暂留吧,日后开博的时候再补,讲局域网共享打印机的问题。呵呵,有点遗憾,下次再来)。sina计数目前是四万六千多,日浏览为1k-2k+。
3、bu知道什么时候再开bo了,也许很快,也许很久,谢谢大家的关注。
4、想念我skype上面的外国好友,好久没有听到你们的声音了,你们还好么?
5、我会回来的,感谢大家的支持。希望我回来的时候还能看到你们的身影。谢谢。
6、再加上一句,莫斯科不相信眼泪,我也不相信。等我的消息,兄弟姐妹们。
苏南敬上

作者: 苏南 分类: IT.IT 标签:

【补】【PC】局域网不能浏览共享的问题(XP)

2007年7月22日

苏南
本篇文章讲述局域网共享(文件夹/打印机)的问题
本文实验建立在两台xp系统电脑上
 
写在前面:
    话说苏南刚来北京读大学第三年,到北京一老乡家游玩,遇到老乡求助“局域网电脑不能浏览共享”的问题,没能解决问题,真是惭愧啊。还好在老乡家喝饮料中得小奖一次作为补偿。几年过后,又遇到相同的问题,特记之。
 
基本症状:
    采用类似“\\192.168.0.127”形式进行共享资源访问的时候,提示如下:
 
    “\\192.168.0.127无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。”
或者:
    “\\192.168.0.127无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问。”
 

 

 
解决办法:
1、确ding安装了“microsoft网络的文件和打印机共享”协议

 
2、确保开启了guest帐户。
我的电脑=》右键=》管理=》本地用户和组=》用户

 
3、运行 控制面板=》管理工具=》里面的 “本地安全策略”
(或者在开始运行里面输入 secpol.msc 也可以
 
3.1 本地策略=》安全选项=》网络访问:本地帐户的共享和安全模式

 
3.2 本地策略=》用户权利指派=》拒绝从网络访问这台电脑,删除guest帐户


 
3.3 本地策略=》用户权利指派=》从网络访问这台电脑,添加guest帐户 

 
3.4 本地策略=》安全策略=》帐户:使用空白密码的本地帐户只允许进行控制台登录,禁用

 
4、请确保您的防火墙没有对共享进行拦截,您也可以直接退出防火墙看看效果。
 
注意事项:
可能您需要重启一下才能使如上改动生效。(苏南)

作者: 苏南 分类: IT.IT 标签:

【pc】kv江民大青蛙不能启动,应用程序错误

2007年7月21日

苏南
症状描述:
    好不容易说服领导使用江民(大客户版,可以通过局域网直接升级,免得像瑞星一样四处找升级包,而且可以用控制中心控制所有的电脑进行集体升级和杀毒,并且2007版的江民做的已经非常不错,比2006有质的提升),居然发现他的电脑无法启动江民,提示“应用程序正常初始化(0xc00000ba)失败,请单击‘确定’,终止应用程序”。
 
解决办法:
    估计是领导的电脑里面有比较厉害的病毒在作怪,那么在360+清理助手+卡卡后,仍然没有好转,(再次表示对360的不信任,呵呵,或者说现在的好多东东对360已经免疫了)。根据江民官方的提示,在路径jiangmin/antivirus/下找到了ws2_32.dll(注意打开显示隐藏文件选项),使用unlocker进行了删除,江民就可以正常使用了。呵呵。(据说是因为这个东东的启动顺序问题,有个假李逵在半路抢劫而已。呵呵)
 
截图:

 
btw:
1、无法显示隐藏文件的解决办法
2、unlocker软件的下载地址
3、360、清理助手、卡卡的下载地址
(苏南)
 

作者: 苏南 分类: IT.IT 标签: