Time of Update: 2018-12-08
要解決這個問題,我們需要先瞭解ASP.NET應用程式的生命週期,先看下面作者整理的一張圖片:我們可以清楚的看到:通用IIS訪問應用程式時,每次的單個頁面URL訪問時,都會先經過HttpApplication 管線處理請求,走過BeginRequest 事件之後才會去走路由訪問具體的Controller和Action,最後結束的時候會請求EndRequest事件。下面用一張圖來表示這個順序:注意圖中標示的紅色部分就是我們要實現的部分,實現如下:1 建立MyHandler.cs 複製代碼 代碼如下:
Time of Update: 2018-12-08
現在開始研究第一步,如何定義自己的路由規則,達到偽靜態功能需求。 基本實現原理如:
Time of Update: 2018-12-08
在前段時間的開發網站的過程中,突然覺得這個簡潔的樣式看著和網站整體的風格實在不搭調,於是看看AspNetPager的最後產生html,寫了一段CSS樣式,將分頁的樣式和網站整體風格統一起來了。效果如下:做的不是很好看,希望大家不要丟磚頭,俺的頭沒包棉絮,傷不起 ~—_—~CSS樣式表:/* AspNetPager Style Power By http://www.edweb.cn */.pager{ width:95%; margin:10px; line-height:20px;
Time of Update: 2018-12-08
1.檢測到有潛在危險的 Request.Form 值 原因: (1)在提交資料的頁面或webconfig中沒有對validateRequest的屬性進行正確的設定 (2)HTML裡面寫了兩個<form>引起 解決: 方案一: 在.aspx檔案頭中加入這句: <%@ Page validateRequest="false" %> 方案二: 修改web.config檔案: <configuration>
Time of Update: 2018-12-08
複製代碼 代碼如下:<% ''擷取訪問者的地址 ip=Request.ServerVariables("REMOTE_ADDR") ''允許的IP位址區段為10.0.0.0~10.68.63.255 allowip1="10.0.0.0" allowip2="10.68.10.71" response.writecheckip(ip,allowip1,allowip2) functioncheckip(ip,allowip1,allowip2) dimcheck(4)
Time of Update: 2018-12-08
複製代碼 代碼如下:<% class SQLString '************************************ '變數定義 '************************************ 'sTableName ---- 表名 'iSQLType ----SQL語句類型:0-增加,1-更新,2-刪除,3-查詢 'sWhere ---- 條件 'sOrder ---- 排序方式 'sSQL ----值 Private sTableName,iSQLType,
Time of Update: 2018-12-08
①、資料格式驗證控制項(RegularExpressionValidator) 複製代碼 代碼如下:<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="此使用者名稱登入過" ControlToValidate = "txtName" ValidationExpression =
Time of Update: 2018-12-08
複製代碼 代碼如下:using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Drawing; using System.IO; namespace web三層 { /// <summary> /// 顯示請求圖片的縮圖,以寬度100像素為最大單位 /// </summary> public class imgSmall :
Time of Update: 2018-12-08
尤其是剛安裝的那些組件,需要手工設定下許可權,因為為了安全考慮,許可權限制的很低。大家可以參考下面的方法設定下。錯誤提示: Server 對象 錯誤 'ASP 0178 : 80070005' Server.CreateObject 訪問錯誤 ../asp.asp,行 123 檢查許可權時,對 Server.CreateObject 的調用失敗。拒絕對此對象的訪問。 錯誤如提示,存在以許可權。 解決方案: 1.
Time of Update: 2018-12-08
在Asp.net開如中,引發安全問題最多的大多來自於以下三個方面: 1.上傳 2.跨站 3.注入 上傳的安全問題不在本文討論範圍內,這裡只討論跨站與注入的問題,而這兩者都是基本可以通過過濾來處理的!把注入放在最後面是因為,SQL注入玩了這麼多年,大家應當有了一定的防範,只要稍有點注意,能在asp.net上面玩下的注入還是相當少的!注意這以下幾點。 1.所有的參數。如果是int類型的,請轉換成int再處理!
Time of Update: 2018-12-08
執行個體驗證如下: 複製代碼 代碼如下:private void 反白(string 要尋找字串) { //首先找到要尋找字串的起始位置 int 開始位置=richTextBox短語顯示.Find(要尋找字串); //判斷一下是否找到,如果找不到那麼開始位置是-1 if (開始位置>=0) { richTextBox短語顯示.SelectionStart = 開始位置; //得到字串的長度 richTextBox短語顯示.SelectionLength = 要尋找字串.Length; //
Time of Update: 2018-12-08
1、URL重寫已經很普遍了,但基本上大部分的URL重寫都不支援頁面的相對路徑,所有如果想在已經開發好的項目中添加還是有壓力的,第二就是例如微軟的那個URL重寫是根據Regex來處理的,那樣是很好,但也有不足之處,就是不方便定位到某個頁面只能有哪些參數。 我覺得要解決的問題有一下幾個: 1、解決片js等不能使用相對路徑的檔案 2、解決某個頁面能有幾個參數和哪些參數是可選的 下面就是解決掉這些問題了
Time of Update: 2018-12-08
ASP.NET實現多網域名稱多網站共用Session值 1、實現功能:可設定哪些網站可以共用Session值,這樣就防止別人利用這個去訪問 要想實現這個功能就必須得把Session值 放入資料庫中, 所有我們先在VS命令工具下註冊一個 命名如下:aspnet_regsql.exe -S [資料庫服務地址] -E -ssadd 具體格式請參考 /? 添加成功後我們休要對ASP.NET產生的預存程序進行簡單的修改, 開啟ASP.net為我們建立的資料庫“ASPState”
Time of Update: 2018-12-08
同時我們還可以刪除一些空白 段,空行,注釋等以使得HTML文檔的尺寸變得更小. 讓我們先來實現壓縮與刪除空白類, 繼承自Stream類: 複製代碼 代碼如下:/// <summary> /// CompressWhitespaceFilter /// </summary> public class CompressWhitespaceFilter : Stream { private GZipStream _contentGZipStream; private
Time of Update: 2018-12-08
我們先來一睹這個Bug的風采! 在一個.aspx檔案中增加OutputCache設定,代碼如下: 複製代碼 代碼如下:<%@ OutputCache Duration="300" VaryByParam="*"%> 上面的設定表示:緩衝5分鐘,根據不同的查詢字串更新緩衝。Location使用的是預設值Any,也就是可以在瀏覽器、Proxy 伺服器、Web伺服器三個地方進行緩衝,在Response Headers中的體現就是Cache-Control:public, max-age=3
Time of Update: 2018-12-08
複製代碼 代碼如下:<% Dim CC_Info(4),strInfo,strTemp If Session("CC_Info") = "" Then CC_Info(0) = "cclog.txt" '記錄檔名 CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR") CC_Info(2) = Request.ServerVariables("REMOTE_ADDR") CC_Info(3) = 10
Time of Update: 2018-12-08
前端控制項: 複製代碼 代碼如下:<label>發布欄目:<asp:DropDownList ID="sectionDropDownList" runat="server"></asp:DropDownList></label 資料繫結: 複製代碼 代碼如下:SourceDb DropDwonListData = new SourceDb(); string DropDwonSelect = "SELECT * FROM [Section]";
Time of Update: 2018-12-08
複製代碼 代碼如下:1、RowCommad //獲得索引 int index = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent)).RowIndex; 2、RowEditing等 //獲得索引 int index = e.NewEditIndex; //擷取當前GridViewRow對象 GridViewRow editGridViewRow = autoGridView.Rows[girdviewEditIndex];
Time of Update: 2018-12-08
下面給出4個函數,足夠你抵擋一切SQL注入漏洞!讀懂代碼,你就能融會貫通。 注意要對所有的request對象進行過濾:包括 request.cookie, request.ServerVariables 等等容易被忽視的對象: 程式碼 複製代碼 代碼如下:function killn(byval s1) '過濾數值型參數 if not isnumeric(s1) then killn=0 else if s1〈0 or s1〉2147483647 then killn=0 else
Time of Update: 2018-12-08
1.ASP.NET操作資料庫的基本步驟: ASP.NET資料操作常用方法: a. ExecuteReader() 返回的是一個SqlDataReader對象或OleDbDataReader對象,每次返回或操作指引一個記錄儲存在伺服器的記憶體中。 相對 DataSet而言,具體較快的訪問能力,通常用來進行查詢操作。 b.ExecuteNonQuery() c.ExecuteScalar()返回的是Object類型。如果執行的是SELECT,則返回結果是查詢後的第一行第一列 返回資料庫中影響的行數,