asp.net
  • sql-server
  • 2011-04-19 7 views 2 likes 
    2

    나는 ... 문제가 있어요SQL 쿼리 및 특수 문자

    물론 ASP 닷넷 웹 응용 프로그램 (C#을)

    방식의 I가 삽입 쿼리를 준비하고있어 경우 응용 프로그램은 다음과 같습니다

    string Query1 = 
        "UPDATE message SET message = '" + mymessage + "' " + 
        "WHERE operationType = '" + value_operationType + "' " + 
        "AND languageType = '" + value_languageType + "';"; 
    

    내가이 문제가 없습니다 IIS 7을 사용하지만 IIS 6 I을 사용하여 그것을 가지고.

    IIS 6에서 일부 구성을 변경해야합니까?

    감사합니다.

    답변

    0

    그냥 내 질문에 대답하기 위해, 솔루션의 Web.config에 한 줄을 추가했다 :

    <system.web> 
        ... 
        <httpRuntime requestValidationMode="2.0" /> 
        ... 
    </system.web> 
    

    감사

    3

    그런 SQL 명령을 작성하면 SQL 주입이 발생할 수 있습니다. 올바른 접근 방법은 SQL 매개 변수를 사용하는 것입니다.

    가 살펴 유무 : 그냥 알다시피 C# Update Table using SqlCommand.Parameters ASP.NET

    +0

    1. Asker의 원래 방법은 위험합니다. –

    0

    을, 이것은 그들이 방법을 알고 있다면 누군가가 당신의 전체 데이터베이스를 삭제할 수있는 쿼리를 실행하는 위험한 방법이며, 그것은 아마도 일일 일어날 것입니다!

    원래의 질문에 대한 대답에서

    , 당신은 HTML 값을 인코딩 할 수 있습니다 :

    string htmlEncodedMessage = Server.HtmlEncode(mymessage); 
    
    string Query1 = 
        "UPDATE message SET message = '" + htmlEncodedMessage + "' " + 
        "WHERE operationType = '" + value_operationType + "' " + 
        "AND languageType = '" + value_languageType + "';"; 
    

    내가보기 엔 당신은 SQL에 LINQ와 같은 데이터베이스 조작의 다른 방법,보고 조언한다. coleague 그것을 제공 할 수있게 된 이후

    관련 문제