#TITLE=ASP 일반 구문 및 기능
#INFO
ASP에서 일반적으로 사용되는 구문 및 사용자 정의 함수
#SORT=n
#T= ===일반적인 ASP 구문===
#T==============================
#T=데이터베이스 관련
#T= ACCESS 데이터베이스에 연결
<%
희미한 DB 이름,Conn
DBName^! '데이터베이스 경로 및 이름을 정의하세요.
SET Conn = Server.CreateObject(ADODB.Connection)
Conn.Open 공급자=Microsoft.Jet.OLEDB.4.0;데이터 원본= & Server.MapPath(DBName)
%>
#T= MS SQL 데이터베이스에 연결
<%
딤 콘
SET Conn=Server.CreateObject(ADODB.connection)
Conn.Open PROVIDER=SQLOLEDB;데이터 소스=SQL 서버 이름 또는 IP 주소;UID=데이터베이스 로그인 계정;PWD=데이터베이스 암호;DATABASE=데이터베이스 이름
%>
#T= 레코드 세트 생성
SET ^!=Server.CreateObject(ADODB.recordset)
#T= SQL 명령 실행
RS.Open SQL,conn,1,1
#T= SQL 명령 실행
Conn.Execute(^!)
#T= RS는 SQL 명령을 직접 실행합니다.
SET RS = 연결.실행(^!)
#T= 레코드세트 닫기
RS.닫기
RS=아무것도 설정하지 않음
#T= 데이터베이스 닫기
연결 닫기
SETConn=아무것도 없음
#T==============================
#T=서버변수 관련
#T= 이전 페이지의 주소를 가져옵니다
요청.서버변수(HTTP_REFERER)
#T= 서버 이름 가져오기 1
요청.서버변수(SERVER_NAME)
#T= 서버 이름 가져오기 2
요청.서버변수(HTTP_HOST)
#T= 서버 IP 가져오기
요청.서버변수(LOCAL_ADDR)
#T= 사용자 IP 가져오기
Request.ServerVariables(Remote_Host)
#T= 사용자의 실제 IP1 가져오기
요청.서버변수(REMOTE_ADDR)
#T= 사용자의 실제 IP 기능을 가져옵니다.
함수 GetRealIP()
GetRealIP = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
IF(GetRealIP = )THEN GetRealIP = 요청.서버변수(REMOTE_ADDR)
기능 종료
#T= 서버 포트 가져오기
요청.서버변수(SERVER_PORT)
#T= 서버 운영 체제를 가져옵니다.
요청.서버변수(OS)
#T= 서버의 절대 경로를 가져옵니다
요청.서버변수(APPL_PHYSICAL_PATH)
#T= 이 파일의 절대 경로를 가져옵니다 1
요청.서버변수(PATH_TRANSLATED)
#T= 이 파일의 절대 경로를 가져옵니다 2
Server.mappath(Request.ServerVariables(SCRIPT_NAME))
#T= 이 파일의 상대 경로를 가져옵니다 1
요청.서버변수(URL)
#T= 이 파일의 상대 경로를 가져옵니다. 2
요청.서버변수(SCRIPT_NAME)
#T= 이 파일의 상대 경로를 가져옵니다. 3
요청.서버변수(PATH_INFO)
#T= 주소 표시줄 뒤의 매개변수 가져오기
요청.서버변수(QUERY_STRING)
#T= 서버 시스템 정보 얻기
요청.서버변수(HTTP_USER_AGENT)
#T= 서버 구성 요소 감지
<%
함수 IsObjInstalled(strClassString)
오류 발생 시 다음 재개
IsObjInstalled = 거짓
오류 = 0
DimxTestObj
SET xTestObj = Server.CreateObject(strClassString)
IF(0 = Err)THEN IsObjInstalled = True
SET xTestObj = 없음
오류 = 0
기능 종료
'IF(IsObjInstalled(Persits.Upload)=True)THEN
' Response.Write는 AspUpload 구성 요소를 지원합니다.
'또 다른
' Response.Write는 AspUpload 구성 요소를 지원하지 않습니다.
'끝나는 경우
%>
#T= 클라이언트 로케일 가져오기
^!요청.서버변수(HTTP_ACCEPT_LANGUAGE)
#T= 클라이언트 정보 가져오기: HTTP_USER_AGENT
^!요청.서버변수(HTTP_USER_AGENT)
#T= 양식(Form) 값 요소 값 가져오기
요청양식(^!)
#T= URL이 전달한 값을 가져옵니다.
요청.쿼리문자열(^!)
#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 = 바꾸기(str, Chr(10) & Chr(10), </P><P>)
str = 바꾸기(str, Chr(10), <BR>)
str = 바꾸기(str, Chr(255), )
종료 IF
HTMLEncode = str
기능 종료
%>
#T= 이전 페이지가 이 사이트에서 제출되었는지 확인하세요.
<%
'이전 페이지가 이 사이트에서 제출되었는지 확인
'반환:참,거짓
'================================================ = ==============
함수 IsSelfRefer()
희미한 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 = 참
또 다른
IsSelfRefer = 거짓
종료 IF
기능 종료
%>
#T= 모든 HTML 태그 지우기
<%
'HTML 태그 지우기
함수 스트립HTML(htmlStr)
희미한 정규식
SETregEx = NewRegexp
regEx.IgnoreCase = 참
regEx.Global = 참
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
Str왼쪽 =
종료 기능
종료 IF
희미한 l,t,c,i
str = 바꾸기(바꾸기(바꾸기(바꾸기(str, , ),,chr(34)),>,>),<,<)
l=길이(str)
티=0
i=1 ~ l의 경우
c=Abs(Asc(Mid(str,i,1)))
IF(c>255)그러면
티=티+2
또 다른
티=티+1
종료 IF
IF(t>strlen)THEN
StrLeft = 왼쪽(str,i) & ...
종료 대상
또 다른
Str왼쪽 = str
종료 IF
다음
StrLeft = 바꾸기(바꾸기(바꾸기(바꾸기(StrLeft, , ),chr(34),),>,>),<,<)
기능 종료
%>
#T= 보안 제출 매개변수 가져오기
<%
'================================================ = ==============
'SQL 인젝션 확인
'기능 기능 : 문자 매개변수에서 작은따옴표를 필터링하고, 숫자 매개변수를 판단하고, 숫자형이 아닌 경우 0 값을 할당
'매개변수 의미: str ---- 필터링할 매개변수
'strType ---- 매개변수 유형으로 문자 유형과 숫자 유형으로 구분되며 문자 유형은 s, 숫자 유형은 i
'================================================ = ==============
함수 CheckStr(str,strType)
희미한 strTmp
strTmp =
IF(strType =s)THEN
strTmp = 바꾸기(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)
희미한 BadWords,bwords,i
BadWords = 엿먹어|좆까|좆까|좆까|개|개자식|썅년|자지|개자식|강간|사랑을 나누다|처녀|zemin|falun|falun|hongzhi|falun
IF(Not(IsNull(BadWords) 또는 IsNull(fString)))THEN
bwords = 분할(BadWords, |)
i = 0에서 UBound(bwords)까지
fString = 바꾸기(fString, bwords(i), string(Len(bwords(i)),*))
다음
ChkBadWords = fString
종료 IF
기능 종료
%>
#T= 임의의 사용자 정의 길이 비밀번호 생성
<%
'임의의 사용자 정의 길이 비밀번호 생성
함수 makePassword(maxLen)
희미한 strNewPass
희미한 whatsNext, upper, lower, intCounter
무작위화
intCounter = 1의 경우 maxLen으로
whatsNext = Int((1 - 0 + 1) * Rnd + 0)
IF(whatsNext = 0)THEN
'성격
상한 = 90
하한=65
또 다른
상한 = 57
하한 = 48
종료 IF
strNewPass = strNewPass & Chr(Int((상위 - 하위 + 1) * Rnd + 하위))
다음
makePassword = strNewPass
기능 종료
'응답.메이크비밀번호 쓰기(8)
%>
#T= 텍스트 영역을 채울 때 HTML 형식을 유지합니다.
<%
'================================================ = ==============
'데이터베이스에서 값을 가져오고 입력 상자를 채울 때 사용되는 HTML 형식을 제거합니다.
'참고: value=? 여기에는 큰따옴표를 사용해야 합니다.
'================================================ = ==============
HTML(str)의 함수
희미한 온도
s온도 = str
inHTML =
IsNull(sTemp) = True인 경우
종료 기능
종료 조건
sTemp = 바꾸기(sTemp, &, &)
sTemp = 바꾸기(sTemp, <br>,chr(13))
sTemp = 바꾸기(sTemp, <, <)
sTemp = 바꾸기(sTemp, >, >)
sTemp = 바꾸기(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를 반환합니다.
SET 정규식 = 아무것도
기능 종료
%>
#T= 무작위 문자열 생성
<%
'임의의 문자열 생성
함수RndCode()
희미한 코드 세트, 금액 세트
코드 세트 = 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
AmountSet = 62 '텍스트의 양
무작위화
희미한 vCode(10), vCodes,i
i = 0 ~ 9의 경우
vCode(i) = Int(Rnd * AmountSet)
vCodes = vCodes & Mid(CodeSet, vCode(i) + 1, 1)
다음
RndCode=vCode
기능 종료
%>
#T==============================
#T=FSO 관련 작업
#T= 디렉토리가 존재하는지 확인
<%
함수 IsFloderExist(strFolderName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.폴더존재(strFolderName))THEN
IsFloderExist = 참
또 다른
IsFloderExist = 거짓
종료 IF
FSO=아무것도 설정하지 않음
기능 종료
%>
#T= 디렉토리 생성
<%
함수 CreateFolder(strFolderName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.FolderExists(strFolderName) = False)THEN
FSO.CreateFolder(strFolderName)
종료 IF
FSO=아무것도 설정하지 않음
END 기능
%>
#T= 디렉토리 삭제
<%
함수 삭제폴더(strFolderName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.폴더존재(strFolderName))THEN
FSO.삭제폴더(strFolderName)
종료 IF
FSO=아무것도 설정하지 않음
END 기능
%>
#T= 파일이 존재하는지 확인
<%
함수 IsFileExist(strFileName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.파일존재(str파일 이름))THEN
IsFileExist = 참
또 다른
IsFileExist = 거짓
종료 IF
FSO=아무것도 설정하지 않음
기능 종료
%>
#T= 파일 삭제
<%
함수 삭제파일(strFileName)
SET FSO=Server.CreateObject(Scripting.FileSystemObject)
IF(FSO.파일존재(str파일 이름))THEN
FSO.삭제파일(str파일 이름)
종료 IF
FSO=아무것도 설정하지 않음
END 기능
%>
#T==============================
#T= ASP 도둑이 일반적으로 사용하는 여러 기능
<%
함수 ByteToStr(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn =
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))
나는 = 나는 + 1
종료 IF
다음
ByteToStr = strReturn
기능 종료
함수 GetHttpPageContent(url,Method,SendStr)
희미한 검색
SET 검색 = Server.CreateObject(Microsoft.XMLHTTP)
검색 포함
.Open 메소드, url, False , ,
.setRequestHeader Content-Type,application/x-www-form-urlencoded
.보내기(SendStr)
GetHttpPageContent = .ResponseBody
끝
SET 검색 = 없음
GetHttpPageContent=ByteToStr(GetHttpPageContent)
기능 종료
함수 RegExpText(strng,regStr)
Dim regEx,일치,일치,RetStr
SET regEx = 새 RegExp
regEx.Pattern = regStr
regEx.IgnoreCase = 참
regEx.Global = 참
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 사용
.유형 = 1
.모드 = 3
.열려 있는
.strBody 쓰기
.위치 = 0
.유형 = 2
.Charset = 코드베이스
StreamBytesToBstr = .ReadText
.닫다
끝
SET objStream = 없음
기능 종료
%>