SQL 문을 매개 변수화하여 Classic ASP/VBScript 웹 사이트의 보안을 강화하려고합니다.
나는 다음과 같은 기능이 있습니다
어떻게 ADODB.CommandObject를 ADODB.RecordSet과 함께 사용할 수 있습니까?
Set rs = SecureOpenUpdateableRS("SELECT CustID, LastActive, LoggedIn, SessionID FROM tblLogins WHERE EMail = ? AND PWord = ?", strEMail, strPassword)
I : 내가 가진 함수를 호출 할 때
Function SecureOpenUpdateableRS(strSQL, strParam1, strParam2)
Dim rs
Dim cmdOB
Set cmdOB = Server.CreateObject("ADODB.CommandObject")
With cmdOB
.ActiveConnection = cnDZ
.CommandText = strSQL
.Parameters(0).value = strParam1
.Parameters(0).value = strParam2
End With
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open cmdOB.Execute, , adOpenKeyset, adLockPessimistic
Set SecureOpenUpdateableRS = rs
Set rs = Nothing
End Function
:
Function OpenUpdateableRS(strSQL)
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, cnDZ, adOpenKeyset, adLockPessimistic, adCmdText
Set OpenUpdateableRS = rs
Set rs = Nothing
End Function
내가 좋아하는 무언가로 변환하려는를 "500 - 내부 서버 오류"가 발생합니다. 이는 아마도 서버에서 디버깅을 사용할 수 없습니다.
어떻게 원래의 기능을 손상시키지 않고 더 안전하게 만들 수 있을지에 대한 아이디어가 있습니까?
빠른 응답 감사합니다. 입력 매개 변수의 유형에 대해 확신하지 않고 매개 변수화 된 명령문을 사용할 수있는 방법이 있습니까? – Vinayak
이 StackOverflow 페이지의 코드처럼 : http://stackoverflow.com/questions/11020846/classic-asp-protection-against-sql-injection – Vinayak