это безопасно? вставить данные в БД пользователем ..? - PullRequest
2 голосов
/ 17 декабря 2010

Я пытаюсь сделать так, чтобы посетитель мог зарегистрироваться из внешнего интерфейса или (страницы индекса), а не страницы администратора.

во-первых, я создал страницу шаблона, это имя: Регистрация пользователя

но я боюсь, если пользователь может сделать что-то плохое (инъекция sql .. и т. Д.) ..

это мой код ..

if(!empty($_POST['user_name']) || !empty($_POST['email'])){
$user_login  = $_POST['user_name'];
$user_email  = $_POST['email'];
$random_password = wp_generate_password(5 , true );
wp_create_user( $user_login, $random_password, $user_email )

} else {
echo 'The user name or E-mail is empty';

}

также, как узнатьэто электронная почта или нет?

извините, у меня плохой язык> _ <</p>

Ответы [ 4 ]

3 голосов
/ 17 декабря 2010
3 голосов
/ 17 декабря 2010

Это зависит от функции wp_create_user - очищает ли она данные для вас? Если нет, вам может потребоваться сделать это самостоятельно (см. mysql_real_escape_string )

3 голосов
/ 17 декабря 2010

Функция wp_create_user должна быть безопасной, чтобы просто отправлять пользовательский ввод.

На вторую часть отвечает Jakub

3 голосов
/ 17 декабря 2010

Вы можете использовать уже включенную функцию в WordPress:

Подробности здесь: http://codex.wordpress.org/Function_Reference/is_email

is_email()

<?php if ( is_email( 'email@domain.com' ) ) {
      echo 'email address is valid.';
} ?>

Может также потребоваться проверить имя пользователя с помощью функции username_exists()

http://codex.wordpress.org/Function_Reference/username_exists

<?php  
       $username = $_POST['username'];
       if ( username_exists( $username ) )
           echo "Username In Use!";
       else
           echo "Username Not In Use!";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...