首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 几种开发方式讨论 [已结贴,结贴人:tiancaolin]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:22:46 楼主
    因不懂asp.net, 自学就到一家小公司工作。公司就我一个程序员。唉都有点闭门造车。感觉很多流行的开发方式或通用的开发技巧都只能靠自己去询问去分析。感觉还是很累。
    该帖希望大家能不吝啬的把自己的一些开发经验分享下。
    备注:大家可以询问一些开发类的问题,对提问题和回答好的。将重分答谢。当然。分数不重要。重要的还是参与交流。
    我的问题:
    1.观看一个网站的开发方法,很多人使用sqlhelper类来实现数据库的操作。但自我感觉这种SQL操作方法代码量还是挺大。
    我又看到了一个人是采用(比如aa.xsd).xsd数据集。然后在里面准备好SQL操作语句,它就自动有对应的操作方法出来。
    然后通过
    using(aaTableAdapter.dbaaTdapter ta=new aaTableAdapter.dbaaTdapter ())
    {
    string strTitle;
    .....
      aa.insertData(strTitle);
    }
    我对比了下。上面那种方法代码量确实减少了非常多。参数部分也基本上是傻瓜化在建立.xsd数据集的时候自动生成。不用我们在去准备什么sqlparameter。就直接好像用函数一样,把所有原始数据通过aa.insertData()传递进去就可以。
    对比了下。好像用微软提供的这种SQL封装操作,ADO.NET编程似乎更加简单。但我不知道它底层是怎么处理的。另外感觉如果你觉得不灵活,好像挺难扩展的。另外这种方式有一个我非常不喜欢的那就是如果是插入操作。因表数据字段非常多。整个函数的参数好多个。程序上好难阅读。看过一些书,书推荐说一个函数最好不要超过5个参数。超过的化可以用结构体来代替。
    不过怎么说感觉都不知道采用哪种方式好。另外外面公司,你们主要又是以哪种方式,或其他方式,能分享下吗?
    晕倒----300分发不了。以后好的化再追加分数。看来级别还是很低,郁闷
    2.脚本性过滤
    网站的前台有输入的地方,肯定要防过滤。一般讲过滤我是采用这种方式:
    A)非编辑器控件、纯文本框输入的,则用Server.HtmlEncode(string s)进行html代码加密。
    B)涉及到编辑器控件的,就采用网上一直在用的过滤脚本函数。
    但系统后台呢?大家有没有过滤。有时感觉要过滤还是不过滤。都有点把握不住。过滤了是安全了点。但感觉是自己人在用。没必要弄这些。人家也不懂脚本攻击。特别是新闻发布方面,新闻内容非常多字符,采用网上流行的过滤方法好像怕怕的。性能上似乎会有所影响。不过滤感觉心里怪怪的。
    大家在开发过程中有没有过滤后台输入的脚本。

    3.验证码机制
    验证码相信很多人都是直接从网上一个公用的方法。其中涉及到的是验证码如何存储问题。有的人是加密存储到cookies、有的人是存储到session。但似乎现在很多的群发软件都可以识别验证码,感觉验证码都成了一种摆设。特别是在博客园看到一篇介绍如何不用输入csdn验证码就可以直接登录。感觉验证码似乎越来越不起以前的重任了。
    我知道这个验证码的存储方式、混肴程度有关。另外部分抓包也感觉都是挺难防的。有网友提出了用基于IP限制时间策略。另外看部分论坛也有采用问答方式。但试问下,不是验证只用在注册页面上。再回帖过程中,难道也要用回答方式。那也太变态了。
    不知道大家如何处理的,还是平时没怎么注意这个。最近是感觉自己维护的一个站点有这方面被人刷的疑问。

    4.基于Forms角色验证。
    有的人网站,验证会员是否已经退出去或是否已经登录。采用session或cookies来判断是否为空。以前我们这边的一个网站也是采用这种方式。但有一次。我在研究一个站的某个功能安全性时候。发现修改cookies工具实在过多。session算比较少。但如果说站点的session存储机制采用基于inproc方式,老是会出现session丢失现象。改用基于StateServer又觉得耗服务器性能。
    而后面看到了Form验证机制。不过我感觉FORM角色验证机制,又似乎有点很耗。(~~~呵呵,我不了解这个底层,凭猜测说,说错了。不要批)。Form验证好像对页面每个元素,如图像啊,样式啊。都会根据web.config进行验证是否有访问的权限。这就感觉
    一个页面要是复杂点。图片多点。不是会很耗验证时间。
    大家觉得呢?还是有更好的验证机制。

    4.URL重写URL重写可以一定情况下优化SEO。在安全性方面也相对会好一点。看过网站的很多这方面资料。有的人是用 asp风格的ISAPI.dll
    然后在Http.ini文件中写对应的正则。有的人是直接在IHttpModule自己写解析URL。然后在Web.config写正则。或也在一个文件中保存正则。我曾经用过别人的后面这种用法。发现当一个站点重写页面多。那么在查找匹配重写的页面程序调试的时候感觉很让人担忧。
    有这方面经验的人能给些好的方案或好一点的方法、案例吗?

    5.静态页面
    新版经理要求一些资讯栏目生成静态页面。提升访问速度。以前没做过。后面也学习了。看别人这方面的用法。一个是基于URL地址进行生成静态页面(我试了下,感觉太慢了)。另外一个是在信息添加、修改的时候重新生成静态页面。静态页面给我的感觉怎么说呢》?----难道aspx动态页面这么不能承受。怎么很多人都喜欢搞成静态的。可谓做静态的人喜欢页面尽量弄成动态丰富化。而搞动态的人又喜欢页面往静态页面形式开发。不过感觉有一个很大的难点。不是说每个静态页面就不可能包含动态内容的。向评论啊。用户登录啊都是个比较麻烦点。那时这方面很菜,花了很超长时间。有尝试过在Form  Action=“aa.aspx”,然后通过在aa.aspx页面中进行Request.From方式进行获取静态页面的文本框文本,进行SQL操作。有点向百度一样。后面还是替换成了xmlhttprequest进行登录验证和评论。不过js功底不是很好。只能用基础简单的。但有是出错。简直是要杀人。调的很久。
    自我感觉这方面效率低。大家又是如何生成静态页面、如何在静态页面中处理含有动态的内容。

    6.主题与样式
    以前可能在页面上基础很差、经验不过巴。老是把美工好好的页面变成乱七八遭的。后面也从中总结出了原因。也已经在某个帖中写了出来。后面就基本上再没遇到这方面问题。感觉做前台页面轻松了超多。不然最怕的还是在页面上。
    问题是:论坛SP1234大师,曾提出这种方案,采用主题---Themes。可以把程序和美工严格的分开来,从而把美工的工作提升到一定的灵活性上。后面我也抽出了时间弄了下。可能对.skin不熟悉巴。一直在.master中无法使用只能在.aspx中使用。用的过程中自我感觉Vs开发设计工具不直接对主题的支持---也就是说你用主题把样式文件拷贝到主题下的时候,在用VS查看那个设计页面
    的时候,页面的样式好像无法加载。页面很难堪,特别是用div+css布局的页面更是变形的难堪要命。可能也因为以前一直因为这个原因,非常惧怕这种很乱的页面巴。后面也就不大想用主题,新接触这个不久。中间可能有用错或不懂里面的功能。大家是怎么用主题的。是不是如我所说页面在Vs2005查看会很乱。只有IE浏览的时候才正常。
    期待有经验的高手解答。
    目前时间关系----问题先提到这。希望大家能说说自己的看法。呵呵,无论是出于提升自己还是帮助别人我想大家都是有益的。谢谢大家。~~~
    200  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:38:051楼 得分:0
    楼主总结得不错。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:40:242楼 得分:15
    我个人认为开发方式需要注意的两点:
    1、设计和实现(广义的代码)的分离。
    2、实现(代码)和运行时的分离。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:49:443楼 得分:15
    1:很多时候 ,mvc的还是要用的,你要选择一个适合你的,现在就比较小的,就可以用

    2:自己写个过滤脚本静态类,然后该用时,直接拿来用,不是很好吗

    3:验证码机制?你想做什么样的站,连csdn都用这样的验证码,你就不能用了吗?

    4:URL重写,我还没有找到好的

    5:URL重写这个不就是把动态的做成静态的吗?都会URL重写了,还怕做不出静态页面?

    6:主题与样式,这个还是去找专业的美工吧,做程序的,写这个,就不行了,让你的老板花点钱,要不找个兼职的也可以

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:50:584楼 得分:0
    写这么多..先看看..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:51:415楼 得分:0
    叶子,能说清楚点吗?呵呵,学习下。也可以把一些认为好的这种观点资料链接发给我们学习下。呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • suosa
    • 等级:
    发表于:2008-05-09 09:56:206楼 得分:0
    JF
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sxlfybb
    • 等级:
    发表于:2008-05-09 09:56:587楼 得分:0
    标注下,有空的时候再来跟踪。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 09:59:248楼 得分:0
    引用 3 楼 xiaozhanger 的回复:
    1:很多时候 ,mvc的还是要用的,你要选择一个适合你的,现在就比较小的,就可以用 

    2:自己写个过滤脚本静态类,然后该用时,直接拿来用,不是很好吗 

    3:验证码机制?你想做什么样的站,连csdn都用这样的验证码,你就不能用了吗? 

    4:URL重写,我还没有找到好的 

    5:URL重写这个不就是把动态的做成静态的吗?都会URL重写了,还怕做不出静态页面? 

    6:主题与样式,这个还是去找专业的美工吧,做程序的,写这个…



    ====================
    可能我表述的差,呵呵,你有点没看懂我的意思
    1.我要问的是SQL操作方面大家用什么方式
    2.写个过滤脚本的静态类很是简单的事,什么是该用什么时候不该用。这个我在后台发布信息上有点把握不了。不是你说的什么
    写个过滤脚本的静态太类来用就行了。
    3.验证码机制?---我想说的是用肯定要用。一定意义上还是可以阻止大量注册和大量尝试。但我想说的是现在的识别验证码软件很多。我想和大家交流的是,大家如何来处理这个,也就是好的解决方案。
    4.
    5.URL重写不是做成静态的,是伪静态的。差很多。我想说的是在处理静态页面中的一些需要动态功能,大家是怎么处理的。
    是用ajax,还是用Form  action=  metho="post(get)"
    方式进行处理
    6.主题和样式我是根据sp1234提出的,不大懂想知道大家用法。我知道美工的活,我的意思是我不是说直接写主题。而是这种开发方式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:00:279楼 得分:0
    小菜我还没有学会哦@!@
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:02:2710楼 得分:0
    引用 7 楼 sxlfybb 的回复:
    标注下,有空的时候再来跟踪。

    ===========期待前辈您的到来点评
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:03:0111楼 得分:20
    1,ORM
    2,对于现在的参数化查询这方面的危险已经比较少了,不要拿ASP跟.NET比,当然非要解决GOOGLE吧
    3,安全没有绝对的,谁也没说过用验证码就可以防止一切恶意登陆,我们能做的只是增加恶意访问的成本而已
    4,COOKIE已经没有那么危险了,对COOKIE的任何修改都会造成COOKIE失效,FORM验证效率也还可以,相信LZ还没有做到FORM验证已经满足不了需要的系统吧,能很快用起来的不是挺好么?
    5,静态除了无法体现动态功能外也会增加I/O成本,SP1234就很支持用缓存.个人觉得还是缓存跟静态页面结合比较好
    6,呵呵,好好研究吧,看来LZ这方面差得比较多
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:05:4012楼 得分:0
    学習
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:10:2013楼 得分:0
    引用 11 楼 leaohong 的回复:
    1,ORM 
    2,对于现在的参数化查询这方面的危险已经比较少了,不要拿ASP跟.NET比,当然非要解决GOOGLE吧 
    3,安全没有绝对的,谁也没说过用验证码就可以防止一切恶意登陆,我们能做的只是增加恶意访问的成本而已 
    4,COOKIE已经没有那么危险了,对COOKIE的任何修改都会造成COOKIE失效,FORM验证效率也还可以,相信LZ还没有做到FORM验证已经满足不了需要的系统吧,能很快用起来的不是挺好么? 
    5,静态除了无法体现动态功能外也会增加I/O成本…


    ================
    谢谢你能提出你的看法
    Form角色验证,我已经在用了。用的还可以。安全性感觉也高。不过是有那种怀疑感觉---页面的每个元素好像都会根据web.config去验证。
    静态页面方面确实在生成过程中会增加I/O成本。用缓存感觉也有点难度。不过看了下大型门户网站新闻资讯用静态的,我想我的出发点,应该也没错,一次生成,以后浏览就省的重复再去SQL读取。
    4,COOKIE已经没有那么危险了,对COOKIE的任何修改都会造成COOKIE失效   是吗?还没见过这么烂的更改Cookies工具哦?
    6确实这方面很菜。没用过。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cat_hsfz
    • 等级:
    发表于:2008-05-09 10:33:5314楼 得分:20
    Typed DataSet的操作,都是可以接受两种参数列表的:
    1.每一个column对应一个参数
    2.传入一个Row对象,每一个column对应一个属性。
    所以是不会出现参数过多的问题的。

    过滤脚本的话,最好用白名单机制,而不要用黑名单机制。因为现在的浏览器实在太灵活了,不停有人想办法在你的黑名单上找漏洞,看看哪些写法是不触发黑名单又能执行脚本的。所以干脆就给一个很小的白名单,只有一些简单的标签能用,那就够了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:45:2215楼 得分:0
    引用 14 楼 cat_hsfz 的回复:
    Typed DataSet的操作,都是可以接受两种参数列表的: 
    1.每一个column对应一个参数 
    2.传入一个Row对象,每一个column对应一个属性。 
    所以是不会出现参数过多的问题的。 

    过滤脚本的话,最好用白名单机制,而不要用黑名单机制。因为现在的浏览器实在太灵活了,不停有人想办法在你的黑名单上找漏洞,看看哪些写法是不触发黑名单又能执行脚本的。所以干脆就给一个很小的白名单,只有一些简单的标签能用,那就够了。

    ============能给个白名单机制的编写规则吗?用js提示用户的输入,,否则就不允许输入??
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:50:2416楼 得分:0
    另外我是传递sqlparamer[]数组进去的。但感觉还都是要自己声明每个参数给这个数组。还是脱离不了自己手动写参数的繁琐。
    能不能直接说把SQL操作当作我上面说的那种别人用法。直接给值,然后他自己去判断参数类型。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 10:59:5917楼 得分:30

    1, 数据访问存 都是用的,.NET 企业库, 还没有用过强类型话数据集(感觉不够灵活),也是我不用 LINQ 的原因。
     SQLHELPER

    2脚本性过滤 ,完全看个人的情况,多几行代码并不会降低什么性能,不知道楼主怕什么,我还是比较相信正则的。
        public static class WebUtility {

            private const string REDIRECT_URL = "~/Search.aspx?keywords={0}";
           

            public static string InputText(string text, int maxLength) {
                text = text.Trim();
                if (string.IsNullOrEmpty(text))
                    return string.Empty;
                if (text.Length > maxLength)
                    text = text.Substring(0, maxLength);
                text = Regex.Replace(text, "[\\s]{2,}", " "); //two or more spaces
                text = Regex.Replace(text, "( <[b ¦B][r ¦R]/*>)+ ¦( <[p ¦P](. ¦\\n)*?>)", "\n"); // <br>
                text = Regex.Replace(text, "(\\s*&[n ¦N][b ¦B][s ¦S][p ¦P];\\s*)+", " "); //&nbsp;
                text = Regex.Replace(text, " <(. ¦\\n)*?>", string.Empty); //any other tags
                text = text.Replace("'", "''");
                return text;
            }

    public static void SearchRedirect(string key) {
                HttpContext.Current.Response.Redirect(string.Format(REDIRECT_URL, InputText(key, 255)));
            }
      
        }
    }
    3,验证码机制 ,用 cookie 就可以了,如果别人真的想攻击你的网站,你档都挡不住的。
    function hp()
    {  
        $("#img1").attr("src","CreateCode.aspx?r="+Math.random());
    }

    function Button1_onclick()
    {
       var cookieString = new String(document.cookie);   
       var start=cookieString.indexOf("=");   
       var k=cookieString.substr(start+1,cookieString.length);     
       
       if($("#Text1").val()==k)
       {
          alert("成功!");
       }
       else
       {
          alert("验证码不正确!");
       }
    }

    .4,基于Forms角色验证 
      用 session, 出现 丢失的可能性也是 非常小的,即使丢失,对用户来说,重新登录一次就 OK 了,
    除非你的用户都是搞计算机的, SESSION 丢失,和 宇宙要爆炸一样可怕 。

    5,URL重写URL重

     以前也找过一些方法,都成功了,后来 ASP.NET AJAX 出来之后,那些方法都行不通了, 只有 微软的 URLRewriter.dll 依然奏效,

    而且通过正则来控制非常 灵活。

    6.主题与样式 
     除非 美工是你来做了,你才会犹豫  主题与样式 ,交给美工的话(美工没有学过.NET 肯定不懂 微软的那一套),都是CSS,

    建议用 DIV+CSS  ,这样如果以后让 其他美工来 维护的话,也非常容易 。


    把 ASP.NET 程序 写的,尽量 可以让 ASP,PHP 程序员 来维护 。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • skyaspnet
    • 等级:
    发表于:2008-05-09 11:02:0018楼 得分:0
    引用 17 楼 live_7sky 的回复:

    1, 数据访问存 都是用的,.NET 企业库, 还没有用过强类型话数据集(感觉不够灵活),也是我不用 LINQ 的原因。 
     SQLHELPER 

    2脚本性过滤 ,完全看个人的情况,多几行代码并不会降低什么性能,不知道楼主怕什么,我还是比较相信正则的。 
        public static class WebUtility { 

            private const string REDIRECT_URL = "~/Search.aspx?keywords={0}"; 
            

            public static string InputText(st…
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 11:30:5419楼 得分:0
    引用 17 楼 live_7sky 的回复:

    1, 数据访问存 都是用的,.NET 企业库, 还没有用过强类型话数据集(感觉不够灵活),也是我不用 LINQ 的原因。 
     SQLHELPER 

    2脚本性过滤 ,完全看个人的情况,多几行代码并不会降低什么性能,不知道楼主怕什么,我还是比较相信正则的。 
        public static class WebUtility { 

            private const string REDIRECT_URL = "~/Search.aspx?keywords={0}"; 
            

            public static string InputText(st…


    ===============
    我也感觉到了用强类型数据集的不灵活。前辈你说的.net企业库是什么SQLHelper吗?
    2.脚本过滤。我也知道多几行代码不算什么大性能。但我不知道你有没有考虑过。在前台一个列表页,有50个的新闻列表。也就是你需要过滤50个标题的脚本。你程序一个用户就要执行50遍。那有1000个或10000个浏览。那要执行就遍。
    当然可以直接用Server.HtmlEncode就行了
    3.验证码我想还是尽量有种安全的好。总不能说网站再厉害都有漏洞就说没办法,你要攻击我我就认命巴。呵呵。不过你说的也很对。
    4用session验证用户是否登录。给我一种感觉不安全、权限控件不灵活。易丢失,用户老是要登录。不是要疯掉。
    5.谢谢你的经验
    6.其实主题这个概念。我想问大家的是是不是Vs设计工具在开发过程中不支持,查看页面的时候会变乱掉。只有在IE浏览才正常。
    谢谢各位。大家继续讨论。感觉学到很多,呵呵,有些观点提的有点快了。不过不懂的我会慢慢查阅。
    另外本帖好点的化。我再追分。当然分数不是最重要的。最重要的还是我说的那句老话交流
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ysn1314
    • 等级:
    发表于:2008-05-09 11:33:5820楼 得分:0
    前排站位~我也是一个人哪。苦啊`
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 11:56:5221楼 得分:20
    3.验证码机制?---我想说的是用肯定要用。一定意义上还是可以阻止大量注册和大量尝试。但我想说的是现在的识别验证码软件很多。我想和大家交流的是,大家如何来处理这个,也就是好的解决方案。

    再好的验证码机制也架不住人肉,据说gmail验证机制就是这么被搞定的。所以我觉得一个稍微复杂一点儿的图形码验证机制就足够了,你最多可以限制来自同一个ip的注册及尝试在一定时间内不能超过多少次。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • txgaozhao
    • 等级:
    发表于:2008-05-09 12:31:1922楼 得分:0
    学习了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 12:33:4923楼 得分:0
    先占个位,以后来学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 12:46:5224楼 得分:0
    引用 21 楼 yunfeng007 的回复:
    3.验证码机制?---我想说的是用肯定要用。一定意义上还是可以阻止大量注册和大量尝试。但我想说的是现在的识别验证码软件很多。我想和大家交流的是,大家如何来处理这个,也就是好的解决方案。 

    再好的验证码机制也架不住人肉,据说gmail验证机制就是这么被搞定的。所以我觉得一个稍微复杂一点儿的图形码验证机制就足够了,你最多可以限制来自同一个ip的注册及尝试在一定时间内不能超过多少次。

    ===================
    说的很有道理。那具体实现方案有类似demo吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 12:48:5625楼 得分:0
    关注一下,学习中..........
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 12:54:5526楼 得分:0
    问题较多,占位,有空交流
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 13:15:3427楼 得分:0
    受教了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 13:15:4428楼 得分:0
    收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 13:20:5829楼 得分:0
    搂主好认真啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 13:28:3930楼 得分:15
    http://www.cnblogs.com/wmxj2008/archive/2008/04/27/1172797.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    <