木子屋 Dnawo's BLOG

2011-12 归档

共 23 篇

在Visual Studio 2008中调试本地SQL Server2005存储过程

在SQL Server2000中自带有存储过程调试的功能,但在SQL Server2005中却怎么也找不着了,百度后得知该功能已剥离到Visual Studio中,便做了个简单的测试体验了下。 在Visual Studio 2008中调试本地SQL Server2005存储过程 ①.在SQL Server2005中创建一个简单的存储过程供测试: ②.打开Visual Studio 2008服务器资源管理器,添加数据库,右键点击需要调试的存储过程,选择"单步执行存储过程": ③.在弹出的对话框中给存储过程参数赋值后点确定开始调试: ④.按F11就可以一步步调试存储过程了: 补充说明 .参见《SQL Server2000存储过程调试》一文;…

Reflector+csc.exe修改.NET应用程序示例

假如有个.NET控制台应用程序,功能是让用户输入一个用户名并判断是否有效用户: 现在我们想修改下,不管用户输入什么用户名都返回是有效的。今天我们使用Reflector+csc.exe来对其进行修改。 一、使用Reflector将控制台应用程序(.exe)还原为.cs文件 说明:Reflector需要安装FileDisassembler插件。 二、代码修改 用记事本打开Program.cs,修改代码如下: 三、使用csc.exe对.cs文件进行编译 csc.exe是VS自带的C#编译器,打开Visual Studio 2008 命令行工具,执行如下命令: D:\Program Files\Microsoft Visual Studio 9.0\VC>csc.exe /out:F:\ConsoleApplicati…

DedeCMS V5.7 SP1文档关键词频率研究与测试

在DedeCMS V5.7 SP1后台"核心→批量维护"下边有个文档关键词维护,它允许添加一些关键词及其对应的链接网址,当发布的文章内容中包含这些关键词时,程序就会给关键词加上文本链接,这一功能在做站内锚文本时非常有用: 但其中有个频率选项,一直不太明白是什么意思,经一番测试后发现,频率表示的是关键词的优先级,数值大越大,则优先级越高,这个关键词就优先被查找和替换。比如有A和B两个关键词,A的频率为1,B的频率为2,那么在生成文章页面时,关键词B会优先加上文本链接,然后再是A。 但这有什么用呢?比如关键词A和B,哪个先哪个后对最终生成的页面而言不还是一样么?是的,当两个关键词之间不存在在包含关系时,设置频率是没有意义的,而当两关键词存在包含关系时,频率的意义就体现出来了,比如"木子屋"和"木子"这两个关键词,后者是前者的一部分,这会怎么替换呢?如上图所示,两个关键词的频率一样,所以关键词将按添加的先后顺序进行替换,先替换木子屋,再替换木子,最终页面的代码为:…

密码为什么明文存放

很早就写过一篇blog,说到过,你的密码应当一次一密,至少某些密码泄露时不至于波及太广。结果这次CSDN不幸中枪。我不去讨论多少人急急忙忙修改密码,多少人数据泄露,单说说为什么很多时候密码是明文存放的。 就我有记忆以来,我写应用就从来没有明文存放过密码。最起先是md5方式存放。md5可以让你找到hash值,有的时候也会被用于穷举。但是无论如何,md5密码本身比明文安全很多。后来改成了challenge-response验证模式,也是用md5做的hash后进行c-r的。再后来,md5的碰撞冲突的论文出来,后面用的多数都是sha256了。从头到脚,我就没做过密码明文存放,并且,我认为这是正常程序员最起码的修养。(当然,明文存放的代码不是没有,不过那是调试模式) 但是现在我所知,很多系统的身份验证都是密码明文存放的,为什么?其实我不大理解。不过有时候问起,有些人和我说了几个我觉得不是搪塞的理由,现在抄录如下,告大家知。 1.不用明文密码没法应付检查。大家知道互联网审查,有时往往会一个电话过来,要XX用户的密码。如果你没法给出,上头就认为你不配合,事情各种难搞。作为审查机构的老板,当然没必要知道明文密码的危害。他们只知道,我要密码,为什么不行。所以,悲崔的程序员们就往往会得到一条死命令,保存明文密码。…

DedeCMS V5.7 SP1首页友情链接中织梦链的删除方法

在DedeCMS V5.7 SP1首页底部有个友情链接模块,这部分内容在后台"模块→辅助插件→友情链接"中可以进行管理,唯独"织梦链"除外: "织梦链"为官方在程序中强制加入,无法在后台设置删除,只能修改源文件来实现。 DedeCMS V5.7 SP1首页友情链接中织梦链的删除方法 打开include\taglib\flinktype.lib.php,删除以下几行代码保存后,重新生成首页即可:

MD5加密算法在网站数据库安全方面的应用与查表攻击

摘要 MD5为现在应用最广泛的Hash算法之一,在1992年由MIT 的Ronald L. Riverst提出,由MD4演化而来。该算法广泛应用于互联网网站的用户数据加密,能够将用户密码加密为128位的长整数。数据库并不明文存储用户密码,而是在用户登录时将输入密码字符串进行MD5加密,与数据库中所存储的MD5值匹配,从而降低密码数据库被盗取后用户损失的风险。但由于Hash碰撞的存在,MD5加密的数据并不安全,可以由生成相同Hash值的字符串破解,所以提出了加入随机数salt的MD5加密方法,一定程度上增大了字典攻击的难度。 问题提出 前一阵在新浪微博上,有一个人发布了这样一条微博:“出道互联网安全常识数学题……假设你的网站所有用户密码都是md5加密(单向散列,非可逆)的,假设你网站有10万会员,如果你的用户库丢了,会有多少会员密码被破解?想想看。”当时我的一位朋友认为10万个密码全部都会被破解,我却不这样认为,因为根据我的先验知识:…

在phpMyAdmin中为MySQL新建用户并分配数据库权限

出于安全考虑,在应用程序中尽量不要使用具有全局权限的root用户来连接MySQL数据库,建议为每个数据库创建一个对应的用户,并分配该用户只允许操作该库的权限。下边演示下如何在phpMyAdmin中为MySQL新建用户并分配数据库权限。 1.演示环境 phpMyAdmin版本:3.4.7.1 MySQL版本:5.0.87 2.添加新用户 ①.使用root账户登录phpMyAdmin,在右侧菜单中选择"权限",然后点击添加新用户: ②.添加用户信息: 登录信息:填写用户名、主机、密码、重新输入 用户数据库:选择无 全局权限:全不选 资源限制:默认 点击"新建用户"按钮,新用户添加完成。 3.给用户分配数据库权限…

如何成为"10倍效率"开发者

Brad Feld 的一篇文章 The Rise of Developeronomics 中提到了"10倍效率的开发者(10x developer)"的概念(伟大的开发者的效率往往比一般的开发者高很多,而不只是一点点),Adam Loving 在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson 和 Jonathan Locke)询问如何成为"10倍效率的开发者",最后得到了以下的答案。 1. 只做需要做的工作 Only do the work that needs to be done •使用敏捷方法; •全心全意做 UX 设计; •沟通第一; •编码也许不是解决问题的办法;…

C#合并文件的一些测试数据

手上有50个txt文件需要合并成一个txt文件,每个txt大小在35M左右,以前收集的一个文本合并工具不好用,于是用C#写个工具来完成。在编码过程中产生了几个疑问,不确定对合并效率有无影响,便做了一些测试。 疑问一:目标文件始终打开和多次打开对文件合并时间有无影响? 文件合并思路为逐个打开原始文件,读取到一个字节数组进行缓存,然后将字节数组的内容存储到目标文件中,这边有个疑问:目标文件始终打开和需要写入时再打开(多次打开),对文件合并时间有没有影响?下边为测试过程。 1.测试代码 方法一:始终打开目标文件 方法二:多次打开目标文件 2.测试步骤 记录下合并每个文件所需的时间(单位:毫秒),每个方法各测十次。…

天涯社区数据库外泄4000万用户明文密码泄漏应对策略

cnBeta快讯说天涯4000万用户明文密码泄漏,打开天涯首页,官方也已出了公告: 事已至此,个人用户能做的就是尽快登录修改密码了,一登录,才发现官方已针对数据库外泄天涯4000万用户明文密码泄漏做了应对策略:强制所有登录用户必须通过取回密码途径设置新密码后才能成功登录社区。真为官方这一策略叫好,一是应对及时,二是最大程度保证了用户账户的安全。