‘开发笔记’ 分类的存档
[转载]ucenter创始人密码忘了解决方法[转]_百度一下_百度空间. 打开uc下面/data/config.inc.php文件 里面有 define(‘UC_FOUNDERPW’, ’924a2bd32289075d8055e7e30261dfb1′); define(‘UC_FOUNDERSALT’, ’116414′); 记下116414这个值,然后 用php输出下面的一个代码 $ucfounderpw= md5(md5($ucfounderpw).$ucsalt); 其中$ucsalt就是116414(这个根据您的需要而定) $ucfounderpw是您要设置的密码。 得到的$ucfounderpw替换 define(‘UC_FOUNDERPW’, ’924a2bd32289075d8055e7e30261dfb1′); 这个里面的924a2bd32289075d8055e7e30261dfb1就可以了。 还有另外一种方法,将以下代码保存为PHP,传至UC根目录,运行即可 “<?php define(ROOT_DIR,dirname(__FILE__).”/”); if(!file_exists(‘./data/config.inc.php’) || !is_writeable(‘./data’)){ $isucdir= 0; echo ‘UCenter创始人密码重置工具必须放在UCenter根目录下才能正常使用.’; exit; }else{ $isucdir = 1; } $info=””; setucadministrator(); function setucadministrator(){ global $isucdir; global $info; if($_POST['setucsubmit']){ if($isucdir){ $configfile = ROOT_DIR.”./data/config.inc.php”; $uc_password = $_POST["uc_password"]; $salt = substr(uniqid(rand()), 0, 6); if(!$uc_password){ [...]
[转载]老话题,火车票抢票助手,简化版 – afeng124 – 博客园. 用了“二杠”兄弟的工具测试了抢票,先举个大拇指。牛!可是我实在看不惯他画的界面,而且需要认证和访问他服务器上的wcf服务。看到许多园友都号 称“破解”了。我也请出”Reflector”神器,尝试了下。发现把源exe文件作为app的资源隐藏到另一个exe里了。”Reflector”神器 直接“另存为”就搞定了。再继续Reflector源exe文件,OK搞定,源码展现在眼前了。后来尝试以自己的思路重写了一下,汗,还挺复杂,花了我3 个小时时间。当当当,成果奉上,有图有真相! 点了2次登录,自动终止了2次后成功。WebBrowser界面打开后会提示2次,你懂的! 然后点”我的12306″,添加常用联系人,这样下单是勾选就OK了。 就是这么顺利,这么简单! 需要执行程序的猛击这里: 下载: 订票助手简化版v1.0 看在半个老乡的份上,“二杠”兄弟不会怪我吧。你自己加强一下搞个混淆啊什么的吧。 /*728*90,创建于2011-1-13*/ var cpro_id = ‘u350373′;
[转载]我的Discuz!X2 、Ucenter 1.6、ASP.NET 应用程序整合经历 – 疯狂秀才 – 博客园. 对于ASP.NET 程序员来说,去整合PHP的应用实在有点别扭,但那也没有办法,即然是做程序的这些是避免不了的,既然免不了,那就上吧 第一步:准备相关程序 1、下载DISCUZ X2 的程序 2、在windows 2003 中配置PHP环境 3、安装DISCUZ X2程序 ,选择全新安装(包括UCENTER 1.6) 4、下载 Ucenter 的.NET 版本的API . (http://ucenterapidotnet.codeplex.com/) 此应用程序是一位大侠修改的.NET 4.0。在此表示感谢。在他的博客中的有介绍ucenter 的一些通信原理,有兴趣的朋友可以去逛逛: http://www.dozer.cc/2011/01/ucenter-api-in-depth-1st/ 5、如果你的.net程序运行在4.0环境下,下载下来的源码中有个地方需要修改下。 ucapibase.cs 中 使用P3P协议的地方,源码如下: Response.Headers.Add(“P3P”, 修改为: Response.AppendHeader(“P3P”, 第二步:参考这里吧,我就不码字啦 http://www.cnblogs.com/CoreCaiNiao/archive/2011/08/25/2153434.html 如果以上通信成功啦!那么恭喜你,你已经完成了一半啦 到这里问题就出来啦,在www站点可以登录和退出,且和X2也同步登录和退出啦,但是X2的登录和退出根本不会同步WWW的登录和退出,经过一系统 的监控手段发现。在X2中登录和退出均不调用应用管理中设置的API(即UC.PHP),我也不懂PHP代码,百思不得其解之下请出了百度大神,我搜啊搜 啊终于找到了一个解决此问题的(非常规手段)原文链接 ,看下图吧 注意,在更新缓存时,不是UCENTER中的更新缓存,是工具的 如下图: 更新完缓存后,在进入X2论坛中进行登录和退出,居然会同步啦。如果是低版本的Ucenter 可能不会出现这个问题,这个我没有去测试 关于修改密同步的问题,我是这样解决的 在X2中修改的密码只能在X2中登录有效,当在主站修改了密码后,在主站登录时更新X2中的密码,然后在做同步登录。 /*728*90,创建于2011-1-13*/ var cpro_id = [...]
[转载]玩转git,让git成为个人工作备份利器(即使是电脑小白也推荐学习) – 大宝pku – 博客园. 前言 不要把这篇文章当做给编程人员的技术文章,即使你对编程一无所知,按照这篇文章的一步步指引,仔细模仿,也可以很容易的学会如何去做。更重要的是, 这篇文章将让你学会如何使用git成为你的工作日志,成为你的备份工具,成为你的项目管理软件。没错,git让这一切变得如此简单。 背景 OK,什么是git? Wikipedia(http://en.wikipedia.org/wiki/Git_(software))告诉我们:“Git (/ɡɪt/) is a distributed revision control system with an emphasis on speed.“ 这是一个分布式版本控制系统。听起来似乎很霸气,那么它是谁开发的呢?这个名字更霸气, Linus Torvalds——Linux之父。 什么叫版本控制系统呢? 我们来举个例子。比如说,我要写个商业策划书,经过几天熬夜,总算在2012-01-01写了一个初稿 proposal.doc。又经过两天的奋战,你对之前的文档做了更深入的细化,于是你把之前的文件改名成了 proposal- 2012-01-01.doc 作为备份。经过你和老板的激烈讨论,文档的反复修改,你终于在2012-01-09把第7版交给了老板,算是完成了工作。回头看看当前的文件夹,呵,充满 了 proposal-2012-01-01.doc,proposal-2012-01-03.doc。。。proposal- 2012-01-06.doc 的文件。你不舍得删了它们,顺手打个包压缩下扔进了自己的归档文件夹里,也许永远也不会再来查看了;而且即使半年后想要来参考,也不过是看看最新版的文 件,这些历史版本之间的关系恐怕永远也想不起来了。 这个应该算是非常普遍的例子,任何用电脑写过报告的人都会有这种经历。保存某个修改的报告时我们习惯性的给之前的版本加个日期(或者其 他你感兴趣的方式)做个备份,生拍自己之后的某个修改不满意好恢复回去;如果有强迫症,估计恨不得写一行保存一次——如果你学会了git,恐怕这种强迫症 会更加强烈,因为用起来实在是太爽了。这就是一个非常朴素的版本控制系统,你人为的给某个文件加上时间的标记,把编辑的某些里程碑保存下来,方便自己将来 查阅、备份、修复。 既然我们有这么普遍而强烈的需求,版本控制系统软件自然备受关注,并不断更新升级。从 CVS 到 SVN 再到 GIT,版本控制系统的管理模式从集中到分布而演变。git的分布式特点就在于,虽然我们可以有一个最核心的中央服务器来管理所有的文件,你可以在本地生 成一个局部的版本控制系统,你的版本历史都可以先在本地保存,直到获得一个满意的版本后,再提交到服务器中。对于个人来说,甚至完全不用理会中央服务器是 否存在,自己玩单机版的版本控制就足够了——本文的目的也就在于教会你怎样玩转单机版git。 准备 工欲善其事,必先利其器。我们需要的软件很少,只有两个,TortoiseGit(http://code.google.com/p/tortoisegit/downloads/list)和msysgit(http://code.google.com/p/msysgit/downloads/list),前者是与 windows 的资源管理器(linux和mac用户借过一下)整合的git管理软件,后者是git的功能软件。 安装好TortoiseGit之后,重启电脑,鼠标右键里就会有这几个新的程序,git的相关功能都可以从这里访问到,连开始菜单都不要,是不是很方便? (svn是另一个软件,请无视) 请选择setting,我们需要配置一下git的路径。 在红框里,我们要设置一下 [...]
[转载][翻译]ASP.NET MVC 3 开发的20个秘诀(二十)[20 Recipes for Programming MVC 3]:缓存结果数据加速页面载入 – O2DS – 博客园. 议题 随着网站的发展,大量用户访问流行内容和动态内容,这两个方面的因素会增加平均的载入时间,给Web服务器和数据库服务器造成大量的请求压力。而大量的数据请求就需要强大的数据库处理能力来支撑。改进更加只能的程序,以极少不必要的数据库访问或动态处理请求,可以节省添加更多服务器的费用以及显著提高Web应用程序的整体速度。 解决方案 实现OutputCacheAttribute类,缓存不经常改变的数据或者相对固定的动作。 讨论 在MVC3中实现缓存是非常容易的事情。将下面的属性添加在某个控制器的动作上即可完成: [OutputCache (Duration=600)] 这个语句将自动缓存该视图600秒(或10分钟)共享给每个访问此页的用户。这就意味着针对代码进行简单的修改当你有1000名用户同时访问此页,只需要通过一次数据加载,可节约数以千计的数据库请求以及IIS处理负载。 输出缓存的属性看起来非常简单,但是当你打开引擎盖的时候,也可能会发现这辆车的引擎原来如此复杂。当然除非你原本就是名机械师。这个属性提供了很多关于缓存的方式,必须持续缓存时间,甚至还添加了SQL依赖,在这个秘诀中我们会深入探讨一番。 按照时间缓存非常简单,你只需要告诉MVC视 图应该被缓存多少秒即可。至于缓存存储的位置,是客户端浏览器还是服务器或者是它们的组合,这个问题稍微有点复杂。一个好的做法是首先分析被缓存的内容数 据,如果是缓存多个用户共享的数据,缓存到服务器上更为合适;然而如果是个人数据,比如个人定制的网页,还是将其缓存在用户的浏览器中更好。虽然缓存可以 说是个伟大的发明,但是它也是有局限性的。通常情况下,缓存的最大限制是内存,不是一切都可以缓存在服务器上。 然而,最有趣的方式还是SQL依赖。OutputCache允许数据一直被缓存,直到它在数据中的内容发生了实际的变化,这是一个非常有用的功能。就拿图书来举例,新书并不是经常增加的,因此可以为图书设置一个缓存时间(例如24小时)。但是,如果在缓存过期之前添加了一本新书,又或者是在漫长的一周或几天里根本就没有添加新书?第一种情况,添加一本新书不能及时出现,用户是会不高兴的。而第二种情况,因为没有新书被添加,每天都要发起不必要的服务器请求。使用SQL依赖的方式,像我们希望的那样,当图书的表发生变化时缓存能被立即更新。 这是一个非常棒的功能,在其他编程语言中,你需要手动控制缓存,你需要自己手动更新无效缓存。相信我,这很容易就会让你错过一两个应该正常清除的缓存。 在接下来的示例中,将缓存图书列表页面。默认情况下,如果没有设置VaryByParam的值,MVC3将会自动创建一个唯一的缓存对象。这是个相当棒的功能,按二在这本书上面的例子里,搜索关键字也会作为输入参数之一,但是可能输入数以百计不同的关键字组合,所以这个变量不应该被缓存(这就是上面提高的会产生内存警告的问题)。下面修改后启用缓存的BooksController控制器: using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Linq.Dynamic; using System.Web; using System.Web.Mvc; using MvcApplication4.Models; using MvcApplication4.Utils; using PagedList; namespace MvcApplication4.Controllers { [...]

