『壹』 ASP-Request對象的5種方法及其異同
主要都是獲取請求信息的
『貳』 ASP的request("")問題
123不是合法的變數名啊,123=request("f")是一定錯的,應該改用別的變數名如a:
a=request("f")
a=request("c")
『叄』 ASP程序按時間獲取最後一次request
看來你對asp的機制還不是很了解。
用戶多次提交請求,就會進行多次調用asp頁面,並且這些頁面是無法互通的。所以沒有辦法的,只能使用資料庫。
『肆』 asp中的request問題
如果怕出錯全部都來直接用request不要在後自面加東西
如:
dim a
a=request("username")
form獲取方式對應於post傳輸方式
querystring方式對應於get 傳輸方式
post可以更安全一般是用他
get方式的特點就是會在網頁的地址後面加個問號在傳輸要傳遞的值
你可以看看的網站 點一個鏈接之後看地址欄是不是有問號後面跟一長串東西 其中&符號是用於隔開多個變數 就像我現在看到的
http://..com/question/119517839.html?fr=id_push&fs=up
get 一般是搜索引擎用的 post可以用在別人提交表單的用戶名和密碼上 不過也不是絕對的安全
『伍』 asp中的request的對象有幾種方法
Asp內建的request對象擁有五個獲取客戶端資料的方法(QueryString/Form/Cookies/ServerVariables/ClientCertificate)。
語法:request.方法名稱("參數")|request("參數")
如果採用後者,系統會自動選擇相應的方法。
Form
這里再重新強調Form的一些屬性:
Enctype=資料傳送的MIME形態
Method=傳送資料的方式Get/Post
Onrest=按下rest鍵調用的程序
Onsubmit=按下sumit鍵調用程序
Target=輸出內容的frame窗口>
使用Form傳送信息一般有三種方式:由html網頁內的Form傳信息給其他Asp;由Asp內的Form傳信息給另外一個Asp;Asp內的信息傳送給自身。
語法:Request.Form(參數)[(索引)]
其中參數表示Form中元素的名稱,索引表示相同名稱元素的順序號。
例:
可循環讀取名稱為user的元素,其中Count是Form的系統屬性,用於計算同名元素的個數,如果該元素不存在,則其值為零。如果沒有指明要讀取第幾個同名元素,則系統會把全部同名元素的值都讀取出來,並用「,」作間隔。
例:Request.form("user")=abc,bcd,cde
2、QueryString
語法:Request.QueryString(參數)[(索引)]
除了用Form傳輸資料外,還可通過在超鏈接後接「?」的方式傳輸信息,如:,這時可通過Request.QueryString("user")讀取傳輸的信息;如果出現多個重名的參數,如:,則第一次
Resquest.QueryString("user")=abc,第二次
Resquest.QueryString("user")=bcd,第三次
Resquest.QueryString("user")=cde。
3、ServerVariables
語法:ServerVariables(參數名稱)
我們知道Web/Browse的傳輸協議是http,http的報頭會有一些客戶端的信息,如
客戶IP地址、瀏覽器的語言系統等。這時可通過Request.ServerVariables("***")獲取相關信息,如Request.ServerVariables("Accept_Language")可獲取客戶端瀏覽器 的語系。其他系統參數見下表:
SERVER_NAME server的機器名稱或IP地址。
SERVER_PORT server正在運行的埠號
REQUEST_METHOD 發出request的方法(GET/POST/HEAD
SCRIPT_NAME 程序被調用的路徑,如:CGI-bin/a.pl。
REMOTE_HOST 發出request請求的遠端機器(client)的名稱。
REMOTE_ADDR 發出request請求的遠端機器(client)的IP地址。
REMOTE_IDENT 發出request的使用者名稱(如是撥號上網,則為用戶ID),當NCSA IdentityCheck為enabled,而且client機器支持RFC 931時,該變數有效。
CONTENT_TYPE 數據的MIME類型,如:「text/html」。
HTTP_ACCEPT client可以接受的MIME類型列表。
HTTP_USER_AGENT client發出request的瀏覽器類型。
HTTP_REFERER 在讀取CGI程序之前,client所指的文本URL。
4、Cookies
在客戶端,Cookies記錄了客戶端瀏覽器很多的信息,我們可通過Request.Cookies("名稱")命令獲取它的值,也可通過Response.Cookies("名稱")="值"在客戶端記錄一些信息,以便控制訪問者。設置多重Cookies的方法為Response.Cookies("名稱")("名稱")="值"。
5、Cache
我們可以在瀏覽器上設置從Cache中抽取已經訪問過的頁面的信息,同樣,在Asp程序中也可進行類似的設置。其中Response.Clear為清空客戶端的內存。Response.Buffer=True設置可從Cache中讀取資料(預設時為False)。
6、ClientCertificate
ClientCertificate用於獲取客戶端瀏覽器的身份確認信息(符合X.509標准),但客戶端瀏覽器必須支持SSL3.0或PCT1協議。這里需做兩步工作,第一步:web server必須啟動用戶端認證選項;第二步:對客戶端瀏覽器進行相應設置,這樣,該方法才會生效,否則,傳回empty值。
『陸』 asp語言:request
Asp內建的request對象擁有五個獲取客戶端資料的方法(QueryString/Form/Cookies/ServerVariables/ClientCertificate)。
語法:request.方法名稱("參數")|request("參數")
如果採用後者,系統會自動選擇相應的方法。
Form
這里再重新強調Form的一些屬性:
Enctype=資料傳送的MIME形態
Method=傳送資料的方式Get/Post
Onrest=按下rest鍵調用的程序
Onsubmit=按下sumit鍵調用程序
Target=輸出內容的frame窗口>
使用Form傳送信息一般有三種方式:由html網頁內的Form傳信息給其他Asp;由Asp內的Form傳信息給另外一個Asp;Asp內的信息傳送給自身。
語法:Request.Form(參數)[(索引)]
其中參數表示Form中元素的名稱,索引表示相同名稱元素的順序號。
例:
可循環讀取名稱為user的元素,其中Count是Form的系統屬性,用於計算同名元素的個數,如果該元素不存在,則其值為零。如果沒有指明要讀取第幾個同名元素,則系統會把全部同名元素的值都讀取出來,並用「,」作間隔。
例:Request.form("user")=abc,bcd,cde
2、QueryString
語法:Request.QueryString(參數)[(索引)]
除了用Form傳輸資料外,還可通過在超鏈接後接「?」的方式傳輸信息,如:,這時可通過Request.QueryString("user")讀取傳輸的信息;如果出現多個重名的參數,如:,則第一次
Resquest.QueryString("user")=abc,第二次
Resquest.QueryString("user")=bcd,第三次
Resquest.QueryString("user")=cde。
3、ServerVariables
語法:ServerVariables(參數名稱)
我們知道Web/Browse的傳輸協議是http,http的報頭會有一些客戶端的信息,如
客戶IP地址、瀏覽器的語言系統等。這時可通過Request.ServerVariables("***")獲取相關信息,如Request.ServerVariables("Accept_Language")可獲取客戶端瀏覽器 的語系。其他系統參數見下表:
SERVER_NAME server的機器名稱或IP地址。
SERVER_PORT server正在運行的埠號
REQUEST_METHOD 發出request的方法(GET/POST/HEAD
SCRIPT_NAME 程序被調用的路徑,如:CGI-bin/a.pl。
REMOTE_HOST 發出request請求的遠端機器(client)的名稱。
REMOTE_ADDR 發出request請求的遠端機器(client)的IP地址。
REMOTE_IDENT 發出request的使用者名稱(如是撥號上網,則為用戶ID),當NCSA IdentityCheck為enabled,而且client機器支持RFC 931時,該變數有效。
CONTENT_TYPE 數據的MIME類型,如:「text/html」。
HTTP_ACCEPT client可以接受的MIME類型列表。
HTTP_USER_AGENT client發出request的瀏覽器類型。
HTTP_REFERER 在讀取CGI程序之前,client所指的文本URL。
4、Cookies
在客戶端,Cookies記錄了客戶端瀏覽器很多的信息,我們可通過Request.Cookies("名稱")命令獲取它的值,也可通過Response.Cookies("名稱")="值"在客戶端記錄一些信息,以便控制訪問者。設置多重Cookies的方法為Response.Cookies("名稱")("名稱")="值"。
5、Cache
我們可以在瀏覽器上設置從Cache中抽取已經訪問過的頁面的信息,同樣,在Asp程序中也可進行類似的設置。其中Response.Clear為清空客戶端的內存。Response.Buffer=True設置可從Cache中讀取資料(預設時為False)。
6、ClientCertificate
ClientCertificate用於獲取客戶端瀏覽器的身份確認信息(符合X.509標准),但客戶端瀏覽器必須支持SSL3.0或PCT1協議。這里需做兩步工作,第一步:web server必須啟動用戶端認證選項;第二步:對客戶端瀏覽器進行相應設置,這樣,該方法才會生效,否則,傳回empty值。
只用request(),相當每次取值時都要判斷下是不是通過form或querystring來提交的,所以這種比較影響速度,一般最好後面如能確認參數的屬性,就確認下來
『柒』 在asp中怎麼過濾用戶輸入的非法字元
<%
dim texts
texts=request("表單明")
dim kill '要過濾的字元
kill="牆,垃,圍毆" '比喻
dim rsss
rsss=split(kill,",")
dim i,xxxx,yyyy
for i=0 to ubound(rsss)
xxxx=len(rsss(i))
dim j
for j=1 to xxxx
yyyy=yyyy&"*"
next
dim zzzz '過濾後的字元串
if i=0 then zzzz=texts
'如果你想把過濾字版符換成*
zzzz=replace(zzzz,rsss(i),yyyy)
'如果你想把過濾字元直接去掉
zzzz=replace(zzzz,rsss(i),"")
next
'zzzz就是過權濾後的字元了
%>
『捌』 如何用asp判斷request.querystring是否存在
不存在的鍵,其值是空字元串,所以只要這樣判斷即可:
if request("type")="" then
當然這種方法無法區分是鍵不內存容在還是這個鍵值本身就是空值。下面的方法可以判斷鍵是否存在:
If instr("&" & request.querystring,"&type=")>0 then
response.write "type存在"
else
response.write "type不存在"
end if
一般情況下只要用上面第一種方式即可滿足要求。
『玖』 asp中request用法
第一個問題:了解一下Cookies的設置方法就應該清楚了:
利用Response對象的Cookies集合,設置Cookies的用法為:
Response.Cookies(CookieName)[(Key)|.Attribute]=value
參數說明:
(1)CookieName:代表表示Cookie的名字,由用戶自行命名。
(2)Key:是Cookie指定關鍵字。通過給Cookie指定關鍵字,可使Cookie擁有多個值,這種Cookie稱為帶索引的Cookie。
(3)Attribute:此參數表示Cookies集合對象的屬性,其最常用的屬性主要是Expires(用於設置Cookies的過期日期)、Domain(用於設置Cookies的有效作用域名范圍)。
上面中括弧括起來的內容是可選的,也就是Cookies簡單的用法是:
Response.Cookies(CookieName)=value
再多一個參數的Cookies可以稱之為帶索引的Cookie,這種形式可以為CookieName添加更多的屬性.
回答第二個問題:
request.form("bookid")(i)表示你可能在提交頁上有多個name為bookid的表單,後面的(i)是索引號,如果不用下標的話,request.form("bookid")取出的是用","分隔的多個表單的值(一樓說法有誤).
『拾』 asp非法字元過濾怎麼加
加我QQ 給你JS代碼!