Я очень новичок в разработке php; и я решил создать систему входа пользователя.
Для системы я хочу использовать систему captcha. Моя проблема в том, что когда я нажимаю кнопку «Отправить», я не могу отправить данные формы (два текстовых поля: имя пользователя и адрес электронной почты).
Чтобы заставить это работать; я создал метод, который получает данные формы, эти данные отправляются следующим образом: method_name ($ POST ["username"], $ POST ["mail"]);
Я хочу знать, если это правильно, или у него будут проблемы с безопасностью или что-то еще.
спасибо.
pd: извините за мой английский ... не хорошо.
это страница указателя
<?php
require_once('recaptchalib.php');
require_once('home.php');
$publickey = "foo";
$privatekey = "bar";
$error = null;
if ($_POST['action'] == "register") {
$re_ip = $_SERVER["REMOTE_ADDR"];
$re_challenge = $_POST["recaptcha_challenge_field"];
$re_response = $_POST["recaptcha_response_field"];
$resp = recaptcha_check_answer($privatekey, $re_ip, $re_challenge, $re_response);
if ($resp->is_valid) {
// procesar registro
hello($_POST["username"],$_POST["usermail"]);
exit;
} else {
$error = $resp->error;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>reCAPTCHA Demo</title>
<style type="text/css">
body {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333;
line-height: 18px;
}
.casilla {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 11px;
color: #333;
padding: 2px 4px;
width: 298px;
margin-left: 3px;
}
h3 {
color: #03C;
font-size: 16px;
}
</style>
<link rel="stylesheet" href="stylesheets/css3buttons.css" media="screen"/>
</head>
<body>
<h3>Registro</h3>
<form method="post">
<label for="username">Usuario</label><br />
<input name="username" type="text" class="casilla" id="username" /><br />
<label for="usermail">Email</label><br />
<input name="usermail" type="text" class="casilla" id="usermail" /><br />
<label for="usercheck">Verificación</label><br />
<?php echo recaptcha_get_html($publickey, $error); ?>
<input type="hidden" name="action" value="register" />
<button type="submit" name="btsend" value="Enviar">Iniciar Sesión</button>
</form>
</body>
</html>
**and this is other page**
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
function hello($var1,$var2)
{
$mailFilter = "^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$";
echo"HELLO WORLD\n".$var1."---".$var2;
if (preg_match($mailFilter, $var2)) {
echo "A match was found.";
} else {
echo "correo valido.";
}
}
?>
</body>
</html>