2009-08-28 6 views
0

요소가 입력 유형 = "비밀번호"인 HTML 양식에서 데이터를 읽으 려 할 때 특별히 고려해야 할 사항이 있습니까? ColdFusion 페이지가 양식 데이터로 내 처리기를 POST 할 때 입력 된 값 대신 암호로 null이 나타납니다. 여기 입력 유형 검색 = password Request.Form [ "strPassword"]는 null을 제공합니다.

아래 큰 블록에서 키 라인 :

문자열 암호 context.Request.Form = [ "strPassword"];

게시 할 때 파일 업로드를 수행하는 HTTPHandler.ashx 코드 파일이 있습니다. 다음은이 코드의 중요한 조각이다 :

내가 디버거로이 함정에 수 있었다
<b>User Name</b> <input type="text" name="strUsername" id="strUsername" size="13" /> 
<b>Password</b> <input type="Password" name="strPassword" id="strPassword" size="15" /> 
<b>Domain</b> <input type="text" name="strDomain" id="strDomain" size="13" value="cbmiweb" /> 

과 :

 string username = context.Request.Form["strUsername"]; 
     if (String.IsNullOrEmpty(username)) 
     { 
      IdentifyInvoker = GetUserInfo(); 
      brokerService = new Broker.FileService(); 
     } 
     else 
     { 
      string password = context.Request.Form["strPassword"]; 
      string domain = context.Request.Form["strDomain"]; 
      IdentifyInvoker = GetInvokerInfoFromForm(username, password, domain); 
      brokerService = new Broker.FileService(username,password,domain); 
     } 

위의 코드가하기 (ColdFusion에서) 게시되는 양식은 다음과 같습니다

그 이후에 충격을 받았습니다. string password = context.Request.Form [ "strPassword"]; 과연 직접 실행 창에서

... 비밀 번호 = : 나는 디버거에서 전체 양식 수집을 살펴보면

?context.Request.Form["strPassword"] 
null 

, 나는 배치 적절한 값 (분리 참조 by &) 중요한 데이터 요소는 모두 입니다 (이상하게도 데이터에 등호 앞에 더하기 기호가 포함되어 있음)!

& strUsername = johna & strPassword + = XXXXXXXX &이, strDomain + = cbmiweb}

내가이 HttpHandler를 같은 그에게 게시물 잘 작동한다는 ASP.NET 클라이언트가 : 다음은 IMMED 창에서 미리보기입니다. 여기에 같은 형태의 데이터는 간섭 PLUS 징후없이 보여줍니다

& strUsername = johna & strPassword = XXXXXXXX &이, strDomain = cbmiweb}

가 함께 서식이있어 양식 데이터를 검색하기 위해이 방법을 원인이 무엇에 어떤 아이디어를 중간에 플러스 기호가 있습니까?

EDIT : ASP.NET 양식과 ColdFusion 양식 모두 enctype = "multipart/form-data"를 지정하지만 후자는 이러한 PLUS 기호를 포함합니다.

+0

coldfusion 코드를 게시 할 수 있습니까? –

+0

내가 물어볼 것입니다. 그러나 ColdFusion의 동료는 Response.Form에 +가있는 것이 문제의 원인임을 확인하는 조언을 기반으로 문제를 해결했습니다. –

답변

1

플러스 기호가 문제이거나, 거기에 없었어야하거나, Coldfusion 전달 요청이 페이지에 있습니까? 아니면 내부 HTTP 요청 엔진을 사용하고 있습니까?

더하기 기호는 문자열 연결이 게시 된 데이터에 삽입하는 공백이 발생하는 경우 공백으로 인해, 또한 ColdFusion에서 확인하시기 바랍니다 나타 납니까?

+1

명확히하기 위해 URL 인코딩 체계를 사용하여 URL의 공백 문자를 "+"로 바꿉니다. http://en.wikipedia.org/wiki/Percent-encoding#The_application.2Fx-www-form-urlencoded_type – Schrockwell

+0

예 , 그리고 내가 왜 coldfusion 코드를 요구했는지 –

관련 문제