#TITLE=ASP の共通構文と関数
#情報
ASP で一般的に使用されるいくつかの構文とカスタム関数
#ソート=n
#T= ===一般的な ASP 構文===
#T==============================
#T=データベース関連
#T= ACCESS データベースに接続します
<%
Dim DBName,Conn
DBName^! 'データベースのパスと名前を定義します
SET Conn = Server.CreateObject(ADODB.Connection)
Conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Server.MapPath(DBName)
%>
#T= MS SQL データベースに接続する
<%
ディム・コン
SET Conn=Server.CreateObject(ADODB.connection)
Conn.Open PROVIDER=SQLOLEDB;DATA SOURCE=SQL サーバー名または IP アドレス;UID=データベース ログイン アカウント;PWD=データベース パスワード;DATABASE=データベース名
%>
#T= レコードセットの作成
SET ^!=Server.CreateObject(ADODB.recordset)
#T= SQLコマンドを実行する
RS.Open SQL,conn,1,1
#T= SQLコマンドを実行する
接続実行(^!)
#T= RS は SQL コマンドを直接実行します
SET RS = 接続実行(^!)
#T= レコードセットを閉じる
RS.閉じる
RS=何も設定しない
#T= データベースを閉じる
接続を閉じる
SETConn=なし
#T==============================
#T=サーバー変数関連
#T= 前のページのアドレスを取得します
Request.ServerVariables(HTTP_REFERER)
#T= サーバーの名前を取得 1
Request.ServerVariables(SERVER_NAME)
#T= サーバー 2 の名前を取得します
リクエスト.サーバー変数(HTTP_HOST)
#T= サーバー IP を取得する
リクエスト.サーバー変数(LOCAL_ADDR)
#T= ユーザー IP を取得する
Request.ServerVariables(リモートホスト)
#T= ユーザーの実際の IP1 を取得します
Request.serverVariables(REMOTE_ADDR)
#T= ユーザーの実際の IP 関数を取得する
関数 GetRealIP()
GetRealIP = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
IF(GetRealIP = )THEN GetRealIP = Request.ServerVariables(REMOTE_ADDR)
終了機能
#T= サーバーポートを取得
リクエスト.サーバー変数(SERVER_PORT)
#T= サーバーのオペレーティング システムを取得する
リクエスト.サーバー変数(OS)
#T= サーバーの絶対パスを取得します
Request.ServerVariables(APPL_PHYSICAL_PATH)
#T= このファイルの絶対パスを取得します 1
Requet.ServerVariables(PATH_TRANSLATED)
#T= このファイルの絶対パスを取得します 2
Server.mappath(Request.ServerVariables(SCRIPT_NAME))
#T= このファイルの相対パスを取得します 1
リクエスト.サーバー変数(URL)
#T= このファイルの相対パスを取得します 2
Request.ServerVariables(SCRIPT_NAME)
#T= このファイルの相対パスを取得します 3
リクエスト.サーバー変数(PATH_INFO)
#T= アドレスバーの後のパラメータを取得します
リクエスト.サーバー変数(QUERY_STRING)
#T= サーバーシステム情報の取得
Request.ServerVariables(HTTP_USER_AGENT)
#T= サーバーコンポーネントの検出
<%
関数 IsObjInstalled(strClassString)
エラー時は次へ再開
IsObjInstalled = False
エラー = 0
DimxTestObj
SET xTestObj = Server.CreateObject(strClassString)
IF(0 = エラー)THEN IsObjInstalled = True
SET xTestObj = なし
エラー = 0
終了機能
'IF(IsObjInstalled(Persits.Upload)=True)THEN
' Response.Write は AspUpload コンポーネントをサポートします
'それ以外
' Response.Write は AspUpload コンポーネントをサポートしていません
'END IF
%>
#T= クライアントのロケールを取得する
^!Request.ServerVariables(HTTP_ACCEPT_LANGUAGE)
#T= クライアント情報の取得: HTTP_USER_AGENT
^!Request.ServerVariables(HTTP_USER_AGENT)
#T= フォーム(Form)の値要素の値を取得
リクエストフォーム(^!)
#T= URL によって渡された値を取得します
Request.QueryString(^!)
#T= 完全な URL アドレスを取得する
関数 GetUrl()
GetUrl=http://&Request.ServerVariables(SERVER_N ... .ServerVariables(URL)
IF(Request.ServerVariables(QUERY_STRING)<>)THEN GetURL=GetUrl&?& Request.ServerVariables(QUERY_STRING)
終了機能
#T==============================
#T=カスタム関数
#T= HTML 文字をフィルタリングする
<%
'HTML文字フィルター機能
関数 HTMLEncode(str)
IF(str <> )THEN
str = 置換(str, &, &)
str = 置換(str, >, >)
str = 置換(str, <, <)
str = 置換(str, Chr(32), )
str = 置換(str, Chr(9), )
str = 置換(str, Chr(34), )
str = 置換(str, Chr(39), ')
str = 置換(str, Chr(13), )
str = Replace(str, Chr(10) & Chr(10), </P><P>)
str = 置換(str, Chr(10), <BR>)
str = 置換(str, Chr(255), )
終了 IF
HTMLエンコード = str
終了機能
%>
#T= 前のページがこのサイトから送信されたものであるかどうかを確認します
<%
'前のページがこのサイトから送信されたものであるかどうかを確認します
'戻り値:真、偽
'================================================ = ==============
関数 IsSelfRefer()
Dim sHttp_Referer、sServer_Name
sHttp_Referer = CStr(Request.ServerVariables(HTTP_REFERER))
sServer_Name = CStr(Request.ServerVariables(SERVER_NAME))
IF(Mid(sHttp_Referer, 8, Len(sServer_Name)) = sServer_Name)THEN
IsSelfRefer = True
それ以外
IsSelfRefer = False
終了 IF
終了機能
%>
#T= すべての HTML タグをクリアします
<%
'HTMLタグをクリア
関数stripHTML(htmlStr)
ディム正規表現
SETregEx = NewRegexp
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = <.+?>
htmlStr = regEx.Replace(htmlStr,)
htmlStr = 置換(htmlStr, <,<)
htmlStr = 置換(htmlStr, >,>)
htmlStr = 置換(htmlStr,chr(10),)
htmlStr = 置換(htmlStr,chr(13),)
ストリップHTML = htmlStr
SET regEx = なし
終了機能
%>
#T= 文字列の長さを取得します
<%
'文字列の長さを調べる関数
関数 GetLength(str)
寸法の長さ
i=1 の場合 Len(str)
IF(Asc(Mid(str,i,1))<0 または Asc(Mid(str,i,1))>256)THEN
長さ=長さ+2
それ以外
長さ=長さ+1
終了 IF
次
GetLength=長さ
終了機能
%>
#T= 指定された長さの文字列をインターセプトします
<%
'指定された長さの文字列をインターセプトし、余分な部分を次の文字列に置き換えます。
関数 StrLeft(str,strlen)
IF(str = )THEN
StrLeft =
終了関数
終了 IF
薄暗い l、t、c、i
str = Replace(Replace(Replace(Replace(str, , ),,chr(34)),>,>),<,<)
l=レン(文字列)
t=0
i=1~lの場合
c=Abs(Asc(Mid(str,i,1)))
IF(c>255)THEN
t=t+2
それ以外
t=t+1
終了 IF
IF(t>strlen)THEN
StrLeft = left(str,i) & ...
出口
それ以外
StrLeft = str
終了 IF
次
StrLeft = Replace(Replace(Replace(Replace(StrLeft, , ),chr(34),),>,>),<,<)
終了機能
%>
#T= 安全な送信パラメータを取得する
<%
'================================================ = ==============
'SQLインジェクションチェック
'Function 関数: 文字パラメーター内の単一引用符をフィルターし、数値パラメーターを判断し、数値型でない場合は値 0 を割り当てます。
'パラメータの意味: str ---- フィルタリングされるパラメータ
'strType ---- パラメータの型、文字型と数値型に分かれ、文字型は s、数値型は i
'================================================ = ==============
関数 CheckStr(str,strType)
ディム strTmp
strTmp =
IF(strType =s)THEN
strTmp = Replace(Trim(str),','')
ELSEIF(strType=i)THEN
IF(IsNumeric(str)=False)THEN str=False
strTmp = str
それ以外
strTmp = str
終了IF
CheckStr= strTmp
終了機能
%>
#T= 不正な文字を除外する (BadWord)
<%
'不適切な文字をフィルタリングする (BadWords)
関数 ChkBadWords(fString)
Dim BadWords、bwords、i
BadWords = ファック|ファックユー|ファック彼|ファックユー|ファック|犬|ろくでなし|女|ディック|ろくでなし|レイプ|セックス|処女|ゼミン|法輪|法輪|紅志|法輪
IF(Not(IsNull(BadWords) または IsNull(fString)))THEN
bwords = Split(BadWords, |)
i = 0 から UBound(bwords) まで
fString = Replace(fString, bwords(i), string(Len(bwords(i)),*))
次
ChkBadWords = fString
終了 IF
終了機能
%>
#T= ランダムなカスタム長のパスワードを生成する
<%
'ランダムなカスタム長のパスワードを生成します
関数 makePassword(maxLen)
Dim strNewPass
Dim whatsNext、upper、 lower、intCounter
ランダム化
intCounter = 1 の場合 maxLen まで
whatsNext = Int((1 - 0 + 1) * Rnd + 0)
IF(次の内容 = 0)THEN
'キャラクター
上=90
下=65
それ以外
上=57
下 = 48
終了 IF
strNewPass = strNewPass & Chr(Int((上 - 下 + 1) * Rnd + 下))
次
makePassword = strNewPass
終了機能
'応答.makepassword(8)を書き込みます
%>
#T= テキストエリアに入力するときに HTML の形式を維持する
<%
'================================================ = ==============
'データベースから値を取得して入力ボックスに入力するときに使用される HTML 形式を削除します
'注: value=? ここでは二重引用符を使用する必要があります
'================================================ = ==============
HTML 内の関数(str)
薄暗い温度
sTemp = str
inHTML =
IsNull(sTemp) = True の場合
終了関数
終了の場合
sTemp = Replace(sTemp, &, &)
sTemp = Replace(sTemp, <br>,chr(13))
sTemp = Replace(sTemp, <, <)
sTemp = Replace(sTemp, >, >)
sTemp = Replace(sTemp, , Chr(34))
inHTML = sTemp
終了機能
%>
#T= 正規テーブル式検証関数
<%
'正規表現検証関数 patrn-正規表現 strng-検証が必要な文字列
'================================================ = ==============
関数 RegExpTest(patrn, strng)
Dim regEx, retVal '変数を作成します。
SET regEx = New RegExp ' 正規表現を作成します。
regEx.Pattern = patrn ' パターンを設定します。
regEx.IgnoreCase = False '大文字と小文字を区別するかどうかを設定します。
retVal = regEx.Test(strng) '検索テストを実行します。
RegExpTest = retVal '戻り値、一致しない場合は false を返し、一致する場合は true を返します
正規表現を設定 = 何もしない
終了機能
%>
#T= ランダムな文字列を生成
<%
'ランダムな文字列を生成する
FunctionRndCode()
ディムコードセット、量セット
コードセット = 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
AmountSet = 62 'テキストの量
ランダム化
Dim vCode(10)、vCodes、i
i = 0 ~ 9 の場合
vCode(i) = Int(Rnd * AmountSet)
vCodes = vCodes & Mid(CodeSet, vCode(i) + 1, 1)
次
RndCode=vコード
終了機能
%>
#T==============================
#T=FSO 関連の操作
#T= ディレクトリが存在するかどうかを確認します
<%
関数 IsFloderExist(strFolderName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.FolderExists(strFolderName))THEN
IsFloderExist = True
それ以外
IsFloderExist = False
終了 IF
FSO=何も設定しない
終了機能
%>
#T= ディレクトリの作成
<%
関数 CreateFolder(strFolderName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.FolderExists(strFolderName) = False)THEN
FSO.CreateFolder(strFolderName)
終了 IF
FSO=何も設定しない
END関数
%>
#T= ディレクトリを削除
<%
関数 DeleteFolder(strFolderName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.FolderExists(strFolderName))THEN
FSO.DeleteFolder(strFolderName)
終了 IF
FSO=何も設定しない
END関数
%>
#T= ファイルが存在するかどうかを確認します
<%
関数 IsFileExist(strFileName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.FileExists(strFileName))THEN
IsFileExist = True
それ以外
IsFileExist = False
終了 IF
FSO=何も設定しない
終了機能
%>
#T= ファイルを削除
<%
関数 DeleteFile(strFileName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.FileExists(strFileName))THEN
FSO.DeleteFile(strFileName)
終了 IF
FSO=何も設定しない
END関数
%>
#T==============================
#T= ASP 窃盗犯がよく使用するいくつかの関数
<%
関数 ByteToStr(vIn)
Dim strReturn、i、ThisCharCode、innerCode、Hight8、Low8、NextCharCode
strReturn =
For i = 1 から LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
IF(ThisCharCode < &H80)THEN
strReturn = strReturn & Chr(ThisCharCode)
それ以外
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
終了 IF
次
ByteToStr = strReturn
終了機能
関数 GetHttpPageContent(url,Method,SendStr)
ディムリトリーブ
SET 取得 = Server.CreateObject(Microsoft.XMLHTTP)
検索あり
.Open メソッド、URL、False、、
.setRequestHeader Content-Type、application/x-www-form-urlencoded
.Send(SendStr)
GetHttpPageContent = .ResponseBody
で終わる
SET 取得 = なし
GetHttpPageContent=ByteToStr(GetHttpPageContent)
終了機能
関数 RegExpText(strng,regStr)
Dim regEx、Match、Matches、RetStr
SET regEx = 新しい正規表現
regEx.Pattern = regStr
regEx.IgnoreCase = True
regEx.Global = True
SET 一致 = regEx.Execute(strng)
試合中の各試合について
RetStr = RetStr & regEx.Replace(Match.Value,$1) & ,
次
RegExpText = RetStr
regEx=何も設定しない
終了機能
関数 StreamBytesToBstr(strBody, CodeBase)
薄暗いobjStream
SET objStream = Server.CreateObject(Adodb.Stream)
objStreamを使用する場合
.Type = 1
.モード = 3
。開ける
.strBody を書きます
.位置 = 0
.Type = 2
.Charset = コードベース
StreamBytesToBstr = .ReadText
。近い
で終わる
SET objStream = なし
終了機能
%>