2015-01-31 2 views
1

아래 코드는 "안전"하다고 생각합니까? SQL 데이터베이스를 쿼리하는 함수의 보안

Public Function GetManager(ByVal uname As String) As String 
    Dim strSelect = String.Format("SELECT UserName FROM aspnet_Users INNER JOIN Hierarchy ON UserId = LineManagerID WHERE StaffID = (SELECT UserId FROM aspnet_Users WHERE UserName = '{0}')", uname) 
    Dim cmdCommand = New SqlCommand(strSelect, _connection) 
    GetManager = cmdCommand.ExecuteScalar() 
End Function 
내가 특별히 부분을 찾고 있어요

..

where UserName = {'0'}, uname 

바로 아포스트로피 몇 가지 잠재적 인 스크립팅 공격에 나를 열어야 말에 나는 건가요?

감사합니다.

DS

+3

사용 매개 변수 :

가장 좋은 것은 매개 변수화 된 쿼리를 사용하는 것입니다. – Edper

+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 여기에 요점을 설명하기 위해 수정 된 예를 제공 할 수 있습니까? – dstewart101

+1

이 함수에 전달 된 매개 변수에는 어떤 컨트롤이 있습니까? 누군가는'uname = '; DROP TABLE ASPNET_USERS; -' – Steve

답변

관련 문제