HttpHandler和图库权限控制
来源:互联网 发布:js 输出1 50的质数 编辑:程序博客网 时间:2024/06/05 06:29
1.使用HttpHandler输出图片
context.Response.ContentType = "image/JPEG"; using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(300, 300)) { using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap)) { g.DrawString("IP:" + context.Request.UserHostAddress, new System.Drawing.Font("宋体", 16), System.Drawing.Brushes.Red, 0, 0); g.DrawString("操作系统:" + context.Request.Browser.Platform, new System.Drawing.Font("宋体", 16), System.Drawing.Brushes.Red, 0, 50); g.DrawString("浏览器:" + context.Request.Browser.Type, new System.Drawing.Font("宋体", 16), System.Drawing.Brushes.Red, 0, 150); } bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); }2.使用
context.Request.UrlReferrer.Host可以防止图片盗链,但是可以伪造context.Request.UrlReferrer3.填入朋友的姓名就可以输出恶搞的图片,XX,事件,就填在图片上
如果HttpHandler输出的是html、txt,jpeg等类型信息,那么浏览器会直接显示,如果想弹出对话框,在报文头里加上Content-Disposition,把该文件当作文件打开
string fileName = HttpUtility.UrlEncode("李根.jpg");context.Response.AddHeader("Content-Disposition",string.Format("attachment;filename=\"{0}\"", fileName));4.如果是动态输出图像,在把图片保存到磁盘上,会造成磁盘浪费,如果是能直接将生成的内容以流的形式输给用户就直接输出
5.登陆时,数据表中设置上次登陆时间和错误次数,和当前登陆时间,两个算分钟差,在5分钟到30分钟就知道
6this
protected void Page_Load(object sender, EventArgs e) { Response.Write(this.GetType()+"</br>");//当前页面对象类型 Response.Write(this.GetType().Assembly.Location + "</br>"); Response.Write(this.GetType().BaseType + "</br>"); Response.Write(this.GetType().BaseType.Assembly.Location + "</br>"); }
this指的是当前类的一个子类,Page类有Request、Server、Response等属性
Page.AppRelativeVirtualPath //相对于应用程序的虚拟目录 如:~/Default.aspxFindControl("id")根据控件id找控件的实例Page.ResolveClientUrl(" 将虚拟路径转化为客户端访问的路径");//返回一个相对于当前页面的相对路径 Page.ResolveUrl("")//直接返回页面的从根开始的全路径在想操作控件用控件的ClientId来获得,$('#<%=txt1.ClientID%>Asp:Label控件,渲染会生成span,当使用AssociatedControlID时渲染生成label.单击label,会使它绑定的控件获取焦点asp:Literal会直接输出文本,不会渲染VirtualPathUtility.ToAbsolute提供虚拟路径操作的转换在上传文件时用FileUpload控件,这里上传限制类型,或者限制使用者个来获取("<%=txtName.ClientID%>");Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。 如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。 Response.Redirect则是客户端第一次请求服务器返回状态代码302及新URL,客户端再次请求新URL,服务器再返回新页面,比Server.Transfer多一次应答。
6.向数据库自增的时候返回最大id,用insert into T_Users(UserName,Password) output inserted.Id values("adimn","222")";用cmd.ExecuteScalar()
7.当html控件添加了runat="server"时,C#可以使用id设置其属性值,如txtName.href="http://www.baiud.com"
txtName.innerText="";
RequireFieldValidate
8.不用frameset来搭建框架,不利于SEO和操作
9.子页想操作母版页的控件使用下列方法
this.Master.FindControl("")10数据绑定combo
数据源SqlDataSource/AccessDataSource/LinqDataSource/EntityDataSource/CmlDataSource/ObjectDataSource
最常用的ObjectDataSource
主要掌握ListView和Repeater就行
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"></asp:ObjectDataSource>
<asp:BulletedList
bulletedLIst渲染生成的是<ul><li></li><ul>
绑定数据源的时候,有AppendBindDatasource不会吧后面添加的内容删除
- HttpHandler和图库权限控制
- HttpHandler----用户下载权限
- 关于HttpModule和HttpHandler
- 关于HttpModule和HttpHandler
- 关于HttpModule和HttpHandler
- 关于HttpModule和HttpHandler
- 关于HttpModule和HttpHandler
- 关于HttpModule和HttpHandler
- HttpModule和HttpHandler
- ashx文件和HttpHandler
- HttpModule和HttpHandler
- ashx文件和HttpHandler
- HttpHandler和HttpModule--入门
- ashx文件和HttpHandler
- HttpHandler和HttpModule
- httphandler和httpmodule
- HttpModule和HttpHandler【预处理】
- ashx文件和HttpHandler
- SAT数学考试如何备考【zhasite】
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
- HDU 3221 Brute-force Algorithm(欧拉公式降幂)
- VoltDB EE 源码执行路径
- Inverse matrix, left-inverse and right inverse
- HttpHandler和图库权限控制
- android图形系统详解:View layer
- Facial Expression Recognition Using KCCA
- SQLite的查询优化
- Java HTML导出PDF (一)
- linux 乱码文件删除
- RIME无线抄水表怎样组织网络
- <转>主流蓝牙BLE控制芯片详解(2):CSR BC6130
- Java数据持久层框架 MyBatis