仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 681|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之图片、文件防盗链程序

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。程序|防盗链关于图片盗链这个成绩,究竟是本人的休息乐成,良多人不但愿他人就那末容易地偷走了。这个功效在良多的论坛上都具有,多是由于盗链的举动太多了吧
反盗链的程序实在很复杂,熟习ASP.NET使用程序性命周期的话很简单就能够写一个,使用HttpModule在BeginRequest事务中拦阻哀求就ok了,剩下的事情就是过滤,再过滤!
假如不熟习HttpModule的话,能够往MSDN上查阅,先容十分具体,地点:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/f1d2910f-61d0-4541-8af8-c3c108ca351f.htm。这里就不空话了
1privatevoidApplication_BeginRequest(Objectsource,EventArgse)
2{
3HttpApplicationapplication=(HttpApplication)source;
4HttpContextcontext=application.Context;
5boolisSafe=true;//是不是正当链接
6stringuri=context.Request.Url.AbsolutePath.ToLower();
7if(uri.LastIndexOf(".")>0&&context.Request.UrlReferrer!=null)
8{
9stringexp=uri.Substring(uri.LastIndexOf("."));
10//这里是判别文件后缀名是不是在扫除的文件范例列表以内
11boolisHas=ClassLibrary.RData.RString.StrIsIncUseSC(exp,config.ImgSafeType.Split(|));
12if(isHas)
13{
14stringdomainOutter=context.Request.UrlReferrer.Authority.ToLower();//包括域名和端口
15ArrayListarry=Common.Cache.GetDomainValid();//取体系界说的正当的域名绑定列表
16isSafe=arry.Contains(domainOutter);//判别以后哀求的域名是不是在正当列表以内
17}
18}
19//上面就是分歧法的时分的输入了,假如有默许替换图片则输入,假如没有就天生一个,格局为.gif
20if(!isSafe)
21{
22Bitmapimg=null;
23Graphicsg=null;
24MemoryStreamms=null;
25
26try
27{
28stringpicPath=ClassLibrary.RPath.GetFullDirectory("images/unlawful.gif");
29if(File.Exists(picPath))
30{
31img=newBitmap(picPath,false);
32}
33else
34{
35img=newBitmap(64,64);
36g=Graphics.FromImage(img);
37g.Clear(Color.White);
38Fontf=newFont("宋体,黑体,Arial",9,FontStyle.Bold);
39SolidBrushs=newSolidBrush(Color.Red);
40g.DrawString(Resources.Message.LawlessLink,f,s,1,20);
41img.Save(picPath,ImageFormat.Gif);
42}
43ms=newMemoryStream();
44img.Save(ms,ImageFormat.Gif);
45context.Response.ClearContent();
46context.Response.ContentType="image/Gif";
47context.Response.BinaryWrite(ms.ToArray());
48context.Response.End();
49}
50catch
51{}
52finally
53{
54if(g!=null)
55g.Dispose();
56img.Dispose();
57}
58}
59}
凡有利必无害,如许做最年夜的弱点就是增添了体系开支,客户真个每哀求都要过滤一遍,功能天然要打扣头了。不晓得哪位伴侣有更好的举措,大概优化的办法,一同来切磋切磋。
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-19 23:51:30 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-25 10:15:52 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
分手快乐 该用户已被删除
地板
发表于 2015-2-2 21:38:56 | 只看该作者
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
透明 该用户已被删除
5#
发表于 2015-2-8 06:44:17 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-24 17:47:20 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
若天明 该用户已被删除
7#
发表于 2015-3-7 12:53:07 | 只看该作者
如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
若相依 该用户已被删除
8#
发表于 2015-3-15 05:59:24 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
山那边是海 该用户已被删除
9#
发表于 2015-3-21 19:21:40 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 22:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表