日期:2014-05-18  浏览次数:20702 次

用.net设计网站时,在代码编写方面需要注意的方面,大家分享
1 监视对系统的重复登录尝试或对 Web 服务器的过多请求
2 不将密码或其他敏感信息保存在 Cookie 中,因为恶意用户可以轻松地在其中找到或修改它。
3 使用 Windows 的日志记录功能来保存服务器上任何活动的审核追踪
4不要通过串联涉及用户输入的字符串创建 SQL 语句。相反,创建参数化查询并使用用户输入设置参数值。 
5 在捕捉所有未处理异常并将它们发送到一般错误页的页级别或应用程序级别上,创建全局错误处理程序。这样,即使您没有预料到某个问题,至少用户不会看到异常页
6 在应用程序的 Web.config 文件中,对 customErrors 元素进行以下更改: 

将 mode 属性设置为 RemoteOnly(区分大小写)。这就将应用程序配置为仅向本地用户(即,您 - 开发人员)显示详细的错误。

(可选)包括指向应用程序错误页的 defaultRedirect 属性。

(可选)包括将错误重定向到特定页的 <error> 元素。例如,您可以将标准 404 错误(未找到页)重定向到您自己的应用程序页。

下面的代码示例显示 Web.config 文件中的典型 customErrors 块。

<customErrors mode="RemoteOnly" defaultRedirect="AppErrors.aspx"> 
  <error statusCode="404" redirect="NoSuchPage.aspx"/> 
  <error statusCode="403" redirect="NoAccessAllowed.aspx"/> 
</customErrors> 
7 根据不同的用户设定不同的错误信息
try
{
  sqlConnection1.Open();
  sqlDataAdapter1.Fill(dsCustomers1);
}
catch (Exception ex)
{
  if(Request.IsLocal)
  { Session["CurrentError"] = ex.Message; }
  else
  { Session["CurrentError"] = "Error processing page."; }
  Server.Transfer("ApplicationError.aspx");
}
finally 
{
  this.sqlConnection1.Close();
}
8 若要在页中创建全局处理程序,请创建 System.Web.UI.TemplateControl.Error 事件的处理程序。若要创建应用程序范围的错误处理程序,请在 Global.asax 文件中将代码添加到 System.Web.HttpApplication.Error 事件。只要您的页或应用程序中发生未处理的异常,就会相应地调用这些方法。您可以从 GetLastError 方法获取有关最新错误的信息。
protected void Application_Error(Object sender, EventArgs e)
{
  Session["CurrentError"] = "Global: " + 
  Server.GetLastError().Message;
  Server.Transfer("lasterr.aspx");
}
9 url?id=1 
  加密?表单处理
10 按钮的连点问题


------解决方案--------------------
接分,都是经验之谈啊
------解决方案--------------------
谢谢分享
------解决方案--------------------
该说是RELEASE的时候注意的问题```

开发过程中这么整定位一个BUG要烦死```
------解决方案--------------------
顶一下,
------解决方案--------------------
顶一下
------解决方案--------------------
系统的架构要多考虑代码的重用 和模块的重用,减少代码的数量,提高系统的内敛.减少数据库设计减少耦合." 低耦合,高内敛" 原则.
------解决方案--------------------
好东西一定要顶一下

不行,还得再顶一下
------解决方案--------------------
尽量少用runat服务端控件