2013-06-09 6 views
1

현재 양식 입력을 검증하고 위생적으로 처리하는 보편적 인 방법을 실험하고 있습니다. 수천 가지가 아니라면 수천 가지 방법으로 내 특별한 도전을 해왔다. 내 포스트 데이터와 관련된 데이터를 가져와 array_map()을 실행하면된다. 내 자신의 사용자 지정 함수가 filter_var()preg_match()과 같이 작동하도록 설정할 수있다. 내 데이터를 처리하기 전에 array_map()을 트리밍 한 후 나중에 SQL을 실행하기 전에 mysqli_real_escape_string()을 처리해야합니다. 내가 알기로는 htmlspecialchars()을 계속해서 또 다시 실행하고 있습니다. 내 게시물 데이터에서 동시에 트림 및 htmlspecialchars를 실행할 수 있습니까? 효율성을 높이기 위해 다른 권장 사항도 환영합니다.PHP에서 trim 및 htmlspecialchars를 실행하는보다 효율적인 방법은 무엇입니까?

// Trim all the incoming data 
$trimmed = array_map('trim', $_POST); 

// Assume invalid values 
$un = $fn = $ln = $e = $pn = $bio = FALSE; 

// Check username 
$un = validateUsername(htmlspecialchars($trimmed['uname'])); 

// Check first name 
$fn = validateName(htmlspecialchars($trimmed['fname'])); 

// Check last name 
$ln = validateName(htmlspecialchars($trimmed['lname'])); 

// Check email address 
$e = validateEmail(htmlspecialchars($trimmed['email'])); 

... 등 등

+1

가'에서'trim'을 대체 할'트림 모두를 호출하여 자신의 기능을 array_map' '및'htmlspecialchars' –

+0

쉽게 ... 나는 나무들을 통해 숲을 볼 수 없었다고 생각합니다 ... 하, 고마워요. – v7p3r

답변

4

이처럼 array_map에서 사용자 지정 기능을 사용

function sanitize($input) { 
    return htmlspecialchars(trim($input)); 
} 

// Sanitize all the incoming data 
$sanitized = array_map('sanitize', $_POST); 
관련 문제