2014-06-21 3 views
1

양식 제출을 처리하는 내 CFC에서 필자는 어떤 인수가 필요한지와 어떤 형식이어야하는지 선언함으로써 함수의 시작 부분에서 유효성 검사를 수행하고 있습니다. 다음과 같이 :인수를 선언 할 때보 다 서버 측 폼 검증이 더 필요합니까?

<cfarugment name="forename" type="string" required="true"/> 

또한 현재 데이터베이스에서 값을 확인하고 있습니다. 따라서 :

INSERT INTO Person (Forename) 
VALUES 
(
<cfif structKeyExists(ARGUMENTS, 'Forename') AND Len(Trim(ARGUMENTS.Forename)) GT 0> 
<cfqueryparam value="#ARGUMENTS.Forename#" cfsqltype="cf_sql_nvarchar"> 
<cfelse> 
NULL 
</cfif> 
); 

인수 값이 이미 있고 필수 값이라고 선언되었을 때 길이를 확인할 필요가 있습니까?

+4

필수 항목은 길이를 적용하지 않습니다. 빈 값을 전달할 수 있습니다. –

답변

3

은 또한 유효하지 않은 HTML 개체를 제거 할, anti-Samy 필터를 통해 데이터를 실행하고

  • 양식 요청이를 사용하여 서버에서오고 있는지 확인 Cross-site Scripting 공격으로부터 보호

    1. 필요 Cross-Site Request Forgery token

    그리고 그건 내 머리 꼭대기에 있습니다.

  • +0

    이상, 나는 입력 평가가 데이터베이스에 쓰는 동일한 함수 시작에 속한다고 생각하지 않습니다. 이 로트를 두 개의 분리 된 프로세스로 분할하십시오. –

    +0

    @AdamCameron 데이터베이스에 NULL 값을 삽입하는 방법은 무엇입니까? –

    +1

    cfqueryparam에 null 속성이 있습니다. –