.net(全局文件,错误页,静态页,IIS配置及防黑)
添加全局应用程序类。
<%@ Application Language="C#" %>
<script runat="server">
//整个网站第一次被访问的时候调用
void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
Application.Lock();
Application["web"] = "welcome";
Application.UnLock();
}
//整个网站关闭的时候
void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码
}
//整站的一个通用的异常处理事件
void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码
}
//每次创建session时调用
void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码
Application.Lock();
Application["logtime"] = DateTime.Now.ToString();
Application.UnLock();
}
//每一个session对象被销毁时调用
void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。
Application.Lock();
Application["logtime"] = "goodbye";
Application.UnLock();
}
</script>
错误页:
配置web.config,配置customErrors区域:
<customErrors mode="On" defaultRedirect="MyErrorPage.aspx">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
mode三个可选值:On:总是显示定制错误页面;Off:不显示定制错误界面,直接显示调用堆栈等异常信息;remoteonly:对于本机的访问显示调用堆栈等异常信息,对于外部用户的显示定制错误页面。可以在定义错误页中判断Request.UserHostAddress来设置某些ip看到异常信息,可以读取Session如果是管理员则可以看异常信息。error子元素设定对于不同的状态码使用不同的错误页,很多网站都把404做一个特殊的错误页。没有单独设置的状态码错误则显示defaultRedirect中指定的页面。
错误页即可以使用htm页面,也可以使用aspx页面。在aspx页面中可以用HttpContext.Current.Server.GetLastError()拿到异常对象。如果要在错误页面中拿到异常对象,比如customErrors中设置redirectMode="ResponseRewrite",因为默认是客户端重定向,在错误页面中就拿不到异常对象了。
静态页:1、读取静态页字符串;2、从数据库读取某条新闻信息;3、将数据库查出的信息,对应替换到HTML代码中对应的占位符处(Replace);4、将替换后生成的HTML代码保存到一个按规则产生文件名的HTML文件中,并将此文件名更新到数据库对应的新闻中。
IIS配置及防黑:
安装IIS。部署网站(发布或者拷贝都可以)。修改连接字符串,compilation设为false,删掉cs代码
上传文件夹不给执行权限: 在iis管理器中找到上传文件夹,选择属性--执行权限,设置为“无”。这样哪怕利用漏洞上传了可执行代码到上传文件夹,也无法执行。
取消所有文件夹的浏览权限,防止用户查看网站的文件列表,在iis管理器中找到主站节点→属性→主目录→取消“目录浏览”。
后台文件夹只允许管理员的IP访问,文件夹→属性→
IIS管理中,Web服务器扩展,只允许asp.net那几个,其他的CGI、ASP等全部禁止。
.net(全局文件,错误页,静态页,IIS配置及防黑)的更多相关文章
- IIS配置及防黑
安装IIS.部署网站(发布或者拷贝都可以).修改连接字符串,compilation设为false,删掉cs代码 上传文件夹不给执行权限: 在iis管理器中找到上传文件夹,选择属性--执行权限,设置为“ ...
- 进程外Session保存和全局文件错误捕获
Session深入学习,进程外的Session 当用户登入页面跳转时候,我们会将用户登录信息保存在服务端一个键值对的Session(Session池)中.那么Session池又是在哪里呢? 它最终默认 ...
- IIS7 大文件上传 asp.net iis配置
IS6下上传大文件没有问题,但是迁移到IIS7下面,上传大文件时,出现HTTP 404错误. IIS配置上传大小,webconfig <!-- 配置允许上传大小 --><httpRu ...
- 怎样在Yii中显示静态页
在web应用中,我们经产更需要显示静态页,如“关于我们”等,这些文件通常是静态页,通常有如下几种处理方法: 1.把独立的html文件存在Web服务器能直接访问的目录下.这种方案的缺点是很难维护网页布局 ...
- tp 生成静态页
$this->fetch()返回的是html 可以直接写入到HTML文件内生成静态页
- ThinkPHP生成静态页buildHtml方法
原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下. PHP 1 2 3 4 5 6 7 8 9 10 11 protect ...
- MVC自定义错误页404静态页
昨天公司要求给所有项目添加自定义404错误页,具体的要求实现的有以下几点: 1.实现自定义错误(如各种error,404等)跳转到指定的页面 2.所指定的页面输出的http状态值必须是404或其他指定 ...
- IIS配置ASP.NET和服务器错误页
以下两种方法均为全站出错处理 方法一: 1.在Web.config配置文件中<system.web></system.web>中添加<customErrors mode= ...
- 关于AysncController的一次测试(url重写后静态页文件内容的读取是否需要使用异步?)
因为做网站的静态页缓存,所以做了这个测试 MVC项目 准备了4个Action,分两组,一组是读取本地磁盘的一个html页面文件,一组是延时2秒 public class TestController ...
随机推荐
- ubuntu 实现界面切换
1.按ALT+CTRL+F1切换到字符界面(Linux实体机) 如果是VMware虚拟机安装的Linux系统,则切换到字符界面的时候需要以下操作 按下ALT+CTRL+SPACE(空格),ALT+CT ...
- YII 登陆时 session持久化
在YII框架中,session持久化方法只需要调用login()方法就行了 class loginAction extends CAction{ function run(){ $model=new ...
- RemoteViews嵌入ListView复杂布局
from http://blog.csdn.net/liliang497/article/details/8308313 主要函数 public void setRemoteAdapter (int ...
- Python学习 - 编写一个简单的web框架(一)
自己动手写一个web框架,因为我是菜鸟,对于python的一些内建函数不是清楚,所以在写这篇文章之前需要一些python和WSGI的预备知识,这是一系列文章.这一篇只实现了如何处理url. 参考这篇文 ...
- iOS:KVO/KVC 的概述与使用
iOS:KVO/KVC 的概述与使用 KVO APP开发技术QQ群:347072638 一,概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性 ...
- WPF学习笔记-使用自定义资源字典(style)文件
1.添加资源字典文件style.xmal 2.在资源字典中添加自定义style等 <ResourceDictionary xmlns="http://schemas.microsoft ...
- 转:ImageMagick +Jmagick安装
原文来自于: 目录 一.ImageMagick介绍 二.安装支持库 三.在Linux上用源码编译安装ImageMagick与Jmagick 四.在Linux上使用yum安装ImageMagick与Jm ...
- VLAN间通信----实验
方法1.增加物理线路 需求:PC0连接SW的F0/1,PC1连接SW的F0/2; SW创建VLAN10,VLAN20; PC0划到VLAN10; PC1划到VLAN20; 现要求借用路 ...
- PowerShell使用SMTP发送邮件
$smtpServer = "smtp.exmail.qq.com" $smtpUser = "xxxxx@qq.com" $smtpPassword = &q ...
- hadoop 2.2.0 集群部署 坑
注意fs.defaultFS为2..0新的变量,代替旧的:fs.default.name hadoop 2.2.0 集群启动命令:bin/hdfs namenode -formatsbin/start ...