2014-12-19 2 views
3

플러그인을 사용하여이 양식을 튜토리얼 : http://code.tutsplus.com/tutorials/creating-a-custom-wordpress-registration-form-plugin--cms-20968처럼 WordPress에 설치하려고합니다. 나는 "등록 사용자"플러그인을 만들려고하지 않고있다. 나는 워드 프레스에서 사용자 정의 양식을 작성하는 예제로 그걸 가져온다. 내 질문에, 나는 WordPress를 사용하는 것이 적절하다고 생각하지 않는다. 그래서이 질문을 일반 섹션에 게시하고있다.Readonly 양식 필드

지금 당장 보안 문제를 해결하고 싶습니다.

이 양식의 입력란에는 내 데이터베이스에서 "이름"값을 가져 와서 양식 필드의 사용자에게 표시합니다. 그런 다음이 "이름"이 다시 데이터베이스로 전송됩니다. 나는 사용자가이 필드를 수정할 수 있기를 원하지 않는다. 내 양식에 "읽기 전용"을 사용했지만 누구나 페이지의 소스를 편집하고 해당 "이름"을 편집 할 수 있으므로 그리 안전하지 않습니다.

방문자가이 입력란을 수정하지 못하게하려면 어떻게해야합니까?

필요한 경우 JavaScript도 사용할 수 있습니다.

+1

'사용자가이 입력란을 수정하지 못하게하려면 어떻게해야합니까? 'php 세션을 사용하십시오. http://silvermapleweb.com/using-the-php-session-in-wordpress/ – Cheery

+0

데이터베이스의 "name"값을 방문자에게 할당하는 방법은 무엇입니까? – waki

+0

내 대답 –

답변

1

나는 hash_mac으로 .... 당신이 양식을 울리는 동안, 잘못된 편집 값

전달 중지 이런 숨겨진 입력을 확인합니다 도움이 될 희망 $ hamac과와 $ foo는이 다음에 일치하는 경우 $의 HMAC

$secret="mysecretstring": 
$string =strtolower($_POST['given_name']); 
$hmac = hash_hmac("sha1", $string, $secret); 
$foo = $_POST['foo']; 

에 지정된 이름은 아무도 입력을 편집하지 것이다. "mysecretstring"을 추측 할 수 없게 만드십시오.

if ($hmac == $foo) { 
// Your read only input has not been edited 
} else { 
//Input Edited 
} 
+0

고마워! – testermaster

-1

무엇보다도 먼저 숨겨진 입력 필드를 추가하고 추가 한 입력 필드에 값을 지정하고 읽기 전용 필드에 입력 한 다음 양식을 제출할 때 숨겨진 입력 값을 가져옵니다. 도움이되기를 바랍니다.

$secret="mysecretstring": 
$string =strtolower($name_retrived_from_db); 
$hmac = hash_hmac("sha1", $string, $secret); 

echo '<input type="hidden" name="foo" value="'.$hmac.'">'; 
echo '<input type="text" name="given_name" value="'.$name_retrived_from_db.'" readonly>'; 

그런 다음 수신기 끝에서,을 검증

+0

"누구든지 페이지의 소스를 편집하고 해당"이름 "을 편집 할 수 있습니까? 그렇게 많은 안전하지 않습니다." – miken32

+0

@miken은 readonly 대신 disable을 사용합니다. disabled는 값을 전달하지 않습니다. – Raham

+0

하지만 데이터베이스에 다시 보내려고합니다 –