2010-08-05 4 views
1

ASP에 매개 변수가있는 쿼리를 사용하여 SQL Server의 텍스트 필드에 값을 저장하는 코드가 있습니다. 나는 매개 변수화가 충분한 지 궁금 해서요. 또는 잠재적 인 명령을 찾기 위해 필드를 검색해야한다면, 단일 진드기를 이중 진드기로 바꾸는 등의 작업이 필요합니다. 텍스트 필드는 에세이이므로 모든 단어 또는 문자를 가질 수 있습니다.클래식 ASP를 사용하는 SQL Server TEXT 필드에서의 SQL 삽입 방지

안전합니까? 저장 프로 시저의 호출에 대한 SQL 주입 의 가능성을 제거합니다 매개 변수로 텍스트를 전달

sSQL="[usp_SaveDocumentGradeCriteria]" 
      Set dbCommand = Server.CreateObject("ADODB.Command")  
      Set dbCommand.ActiveConnection = oConn 
      dbCommand.CommandType = adCmdStoredProc 
      dbCommand.Commandtext=sSQL 
      dbCommand.Parameters.Append (dbCommand.CreateParameter("@CriteriaXML", adLongVarChar, adParamInput, len(saveXML), saveXML)) 
      dbCommand.Parameters.Append (dbCommand.CreateParameter("@Comments", adLongVarChar, adParamInput, len(commentText), commentText))  
      dbCommand.Parameters.Append (dbCommand.CreateParameter("@documentGUID", adGuid, adParamInput, 0, documentGUID)) 
      dbCommand.Parameters.Append (dbCommand.CreateParameter("@graderFYCUserID", adInteger, adParamInput, 0, fycuserid)) 
      dbCommand.Parameters.Append (dbCommand.CreateParameter("@graderSequence", adInteger, adParamInput, 0, graderSequence)) 
      if trim(grade)<>"" then 
       dbCommand.Parameters.Append (dbCommand.CreateParameter("@grade", adInteger, adParamInput, 0, grade))  
      end if 


      set oRST=dbCommand.Execute 

답변