存档

2008年10月 的存档

在网上下载的CMS虽然是开源,作者也称安全,但是还是有些让人不能放心。今天闲来没事,研究研究给我的程序加一道锁。要做就做万用锁,而且什么CMS都可以使用。用Session来实现,在后台公共引用页面加入判断,如果Session(“safe”)为空,跳转到admin.asp,代码如下:

< %if session("safe")="" then response.redirect "admin.asp"%>

然后写一个admin.asp,将HTTP-REFERER保存到Session,如果登陆成功释放Session,然后跳转到HTTP-REFERER记录的页面,这样即使知道我们的后台账号,密码,也不能进入我们的后台。

<!–#include file="inc/md5.asp"–>
< %
‘定制服务请与我联系
‘Design By +飞猫(QQ:77068320;Mail:mqycn@126.com)
if request.querystring="Login_"&date()&"-"&replace(time(),":","-") then
%><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>安全模式登陆</title><style type="text/css">*{margin:0px;}body{margin:0px;background:#666;text-align:center}h3{background:#BBB}div{border:#CCC solid 10px;margin-left:auto;margin-right:auto;margin-top:200px;width:400px;background:#AAA;line-height:30px;}input{border:2px solid #CCC;background:#EEE;}h5 a{text-decoration:none;color:#000;}h5 a:hover{text-decoration:underline overline;}</style>
</head><div><form action="?LoginIn" method="post"><h3>使用安全模式(Use Safe-Mode)</h3>请输入您的ADMIN_CODE:<br /><input name=AC type=password maxlength=7/> <input type=submit value="安全ADMIN_CODE"/></form><h5>[<a href="http://www.miaoqiyuan.cn" target="_blank">Design Home</a>][<a href="#">Site Home</a>]</h5></div></html>
< %
response.end
end if
 
admin_code="78C94776A5FC6724A047D802B6110F05"
if admin_code=md5(request("AC")) or session("safe_mode")="ok" then
session("safe_mode")="ok"
gourl=replace(session("GoUrl"),"%5F","_")
session.contents.remove("GoUrl")
if gourl="" then gourl="/"
response.redirect gourl
else
if Session("GoUrl")="" then Session("GoUrl")=Request.Servervariables("HTTP_REFERER")
response.redirect "?Login_"&date()&"-"&replace(time(),":","-")
end if
%>

呵呵,简单吧,测试下吧。
怎么没有反应。试验再三得出结论。Response.redirect直接跳转的,不会产生HTTP-REFERER。又试验了Javascript的Location.href,仍然不能解决问题。难道只有通过A点击才能获取吗?正要在判断页面加入Session来保存登陆页面的地址,忽然想起了FORM,它也可以获取到HTTP-REFERER。
这样简单了,用Javascript模拟FORM提价,代码如下:

< %if [...]

十 27th, 2008 | Filed under ASP, Products(作品), Share(分享)

最近在安装BBSXP的时候发现安装包不到1MB,竟然没有数据库~
分析了下代码:

 Set Ca = Server.CreateObject("ADOX.Catalog")
 call Ca.Create(""&amp;Connstr&amp;"")
 Set Ca = Nothing 
 If Err Then
  Response.Write(""&amp;IsSqlVer&amp;" 数据库没有被创建!&lt;br /&gt;&lt;br /&gt;出错原因:"&amp;Err.Description&amp;"("&amp;Err.Number&amp;")")
  if Err.Number = -2147467259 then Response.Write("&lt;br /&gt;&lt;br /&gt;建议解决方法:请给 "&amp;Request.ServerVariables("TEMP")&amp;" 目录添加一个有写入权限的 Authenticated Users 用户。")
  if Err.Number = -2147217897 then Response.Write("&lt;br /&gt;&lt;br /&gt;请单击 下一步 继续")
 else
  Response.Write(""&amp;IsSqlVer&amp;" 数据库创建成功,请单击 下一步 创建数据表&lt;br /&gt;&lt;br /&gt;")
 end if

原来调用的是ADOX.Catalog组件,上网搜了一下,原来这个是用来操作ACCESS数据库的东西,遍历表,遍历表的所有字段及字段的属性都会用到这个。在Office的帮助文档:”C:\Program Files\Common Files\Microsoft Shared\OFFICE11\2052\ADO210.CHM”中有相关介绍,可以直接在运行里输入:“hh.exe C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\2052\ADO210.CHM” 找到ADOX的详细操作方法。
ADOX对象模型图:

 
1、ADOX 概述
Microsoft® ActiveX® Data Objects Extensions for Data Definition Language and [...]

十 13th, 2008 | Filed under Share(分享)
标签: ,

‘QQ一键登陆代码
‘Design:MiaoQiyuan.cn
dim program
program="D:\Program Files\Tencent\QQ\QQ.exe"
rem
set Wshell=CreateObject("Wscript.Shell")
set oexec1=Wshell.Exec(program)
rem
wscript.Sleep 500
Wshell.SendKeys "QQ密码{TAB}"
wscript.Sleep 1
wshell.Sendkeys "QQ账号{ENTER}"
rem
set oexec2=Wshell.Exec(program)
rem
wscript.Sleep 1000
Wshell.appactivate "QQ密码"
Wshell.SendKeys "mqycn521{TAB}"
wscript.Sleep 1
Wshell.SendKeys "QQ账号{ENTER}"
rem

十 9th, 2008 | Filed under Products(作品), Share(分享), VBscript
标签: ,

因为要工作更快些,想下个PhotoShop自动更改图片的脚本,很自然的想到了SendKey,于是在硬盘的某个角落里发现了这篇文章(这是很早以前存在计算机中的),发出来,分享给大家吧~

十 8th, 2008 | Filed under Share(分享)
标签:

在我的文章Workeasy之不变形批量转换图片文件大小中,谈到可以改变JPG文件大小,用到的ASPJPEG没有中文文档,我在网上找了一篇,例子和英文文档一样,应该是翻译的,复制下来供以后参考。留作以后参考:
  aspjpeg是一款非常强大的图片处理组件,纯英文版本。不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印。可能是因为纯英文的缘故。这里我就是针对这些问题谈谈aspjpeg的高级用法。这里的技术主要包括:
aspjpeg唯一点不足的就是输出方式比较单一。在这里,我们主要谈将图片处理保存后再调用的这种输出方法。另外,本人比较懒,所以有些代码仍然引用于原文档,不懂的地方偶会加以解释!
学过vb或者.net的同志肯定一看就明白了。刷子来着。呵呵。
一、图片缩略

四、图片切割
一直以来,对aspjpeg不了解的人以为是无法用它来进行切割的。
其实有这样的一个方法的
crop x1,y1,x2,y2
切割长方型左上角x坐标,y坐标 右下角x坐标 y坐标
下面我就做一个演示哈
Set Jpeg = Server.CreateObject(“Persits.Jpeg”)
jpeg.open server.MapPath(“/pic/1.gif”)
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 开始切割其实是把超过52象素的下部分去掉
jpeg.save server.MapPath(“/temp_pic/small_1.gif”) 保存
怎么样,很简单吧
五、图片合并
我们这里是要把logo图片加到dodge_viper.jpg图片上去
其实,图片合并的方法也可以用来动态打水印哦
Set Photo = Server.CreateObject(“Persits.Jpeg”)
PhotoPath = Server.MapPath(“images”) & “\dodge_viper.jpg”
Photo.Open PhotoPath
Set Logo = Server.CreateObject(“Persits.Jpeg”)
LogoPath = Server.MapPath(“images”) & “\clock.jpg”
Logo.Open LogoPath
Logo.Width = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, Logo
Photo.SendBinary 这里用了sendBinary的输出方法。当然,你也可以先保存更改后的dodge_viper.jpg,再输入也可以。我个人不大喜欢用sendBinary方法,在网速慢的时候容易出错。在速度方面也不怎样。呵呵。
六、数据库支持
这里不多说了。其实就是Binary方法,大家知道图片存进数据库只能存为二进制的文件的。所以代码就懒的写了。
七、更多方法介绍
Canvas.Line(Left, Top, Right, Bottom)
画一条直线
Canvas.Ellipse(Left, Top, Right, Bottom)
画出一个椭圆
Canvas.Circle(X, Y, Radius)
画出一个圆
Canvas.Bar(Left, Top, Right, Bottom)
画出一个长方形,上面有代码介绍了
Canvas.Font.ShadowColor
文字阴影颜色
Canvas.Font.ShadowXOffset [...]

十 2nd, 2008 | Filed under Share(分享)
标签:

随着业务量的增多,客户信息管理又是一个问题,而且客户的资料、画册已经堆积如山了,找一个客户的资料太难了,于是我想到了给客户信息编号,如9月21日跑来的就是9.21-1,9.21-2,把客户在本站的文件名,密码都记录下来。。。噩梦又出现了,今天客户改这,明天改那,记事本已将化的不成样子了
为何不用简单的网站来管理呢?在网上找OA系统?这个太大材小用了吧~因为自己本身就是程序员,还是自己写个吧~
下载地址:http://www.miaoqiyuan.cn/products/sitemanger.rar
通过本程序,可以方便的列出需要拍照的,需要传图的,没有简介的,需要客户确认的,已经完成的单子的信息~
大大的放百年了我们的管理,值得一提的(我最自豪的)是直接点击公司名称即可选中(边框为蓝色),再点取消,通过点击上边的“修改为..”可以批量修改选中的Case的状态(隐藏了checkbox,点击设checkbox设为Ture),不是通过ID来修改,项目可以为任意多,而且可以通过全选,反选来快速选择。
运用了CSS+Javascript+ASP(VBScript),在workeasy系类中我最喜欢的一个工具。

十 2nd, 2008 | Filed under ASP, Div+CSS, Javascript, Share(分享), Show(展示)