bganonymous
Registered
Как да направя така, че ако потребителя опита да се логне и въведе грешно име и парола повече от 3 пъти - да му иска captcha, докато не успее да се логне?
Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
Малко помощ как може да стане това?devent каза:Най-бързия вариант за теб е със сесия. Ако сбърка паролата му бройш сесия + 1 и когато достигне 3 броя показваш captch-ата![]()
if(!isset($_SESSION['attempts']))
$_SESSION['attempts'] = 1;
$_SESSION['attempts']++;
if($_SESSION['attempts'] >= 3)
{
//display captcha
}
bganonymous каза:Малко помощ как може да стане това?devent каза:Най-бързия вариант за теб е със сесия. Ако сбърка паролата му бройш сесия + 1 и когато достигне 3 броя показваш captch-ата![]()
if(!($_SESSION['captcha'])) {
$_SESSION['captcha'] = 0;
}
if($password1 == $password) {
// логнат си
}
else {
$_SESSION['captcha']++;
}
if(isset($_SESSION['captcha']) && $_SESSION['captcha'] > 2) {
// показваш капчата
die;
}
<?php
function login()
{
if(isset($_POST['login']))
{
$account = stripslashes($_POST['login']);
$password = stripslashes($_POST['pass']);
$check_accq = mssql_query("Select * from MEMB_INFO where memb___id='$account' and memb__pwd='$password'");
$check_acc = mssql_num_rows($check_accq);
if ($check_acc == 0) { echo('<script language="Javascript">alert("Account or Password is invalid!");</script>');}
else
{
$_SESSION['user'] = $account;
$_SESSION['pass'] = $password;
header('Location: ?op=news');
}}
if(isset($_POST['logoutaccount']))
{
unset($_SESSION['user']);
unset($_SESSION['pass']);
header('Location: ?op=news');
}}
function check_user()
{
if(stripslashes($_GET['op']) == user &
stripslashes($_SESSION['user']) == false or
stripslashes($_GET['op'])) == account &
stripslashes($_SESSION['user']) == false) {
header('Location: ?op=news'); }
}
?>
<?php session_start();
if(isset($_SESSION['fail']))
{
$_SESSION['captcha_code'] = rand(0, 100);
}
function login()
{
if(isset($_POST['send']))
{
$account = stripslashes($_POST['login']);
$password = stripslashes($_POST['pass']);
$captchaPost = (isset($_POST['captcha'])) ? $_POST['captcha'] : true;
$check_accq = mssql_query("Select * from MEMB_INFO where memb___id='$account' and memb__pwd='$password'");
$check_acc = mssql_num_rows($check_accq);
$captcha = true;
if(isset($_SESSION['fail']))
{
if($_SESSION['fail'] > 3)
{
$captcha = $_SESSION['captcha_code'];
}
}
if($captcha != $captchaPost)
{
$error['captcha'] = 'Wrong captcha';
}
elseif ($check_acc == 0) {
if(!isset($_SESSION['fail'])) {
$_SESSION['fail'] = 1;
} else {
$_SESSION['fail']++;
}
echo('<script language="Javascript">alert("Account or Password is invalid!");</script>');}
else
{
if(isset($_SESSION['fail']))
{
unset($_SESSION['captcha_code']);
unset($_SESSION['fail']);
}
$_SESSION['user'] = $account;
$_SESSION['pass'] = $password;
header('Location: ?op=news');
}}
if(isset($_POST['logoutaccount']))
{
unset($_SESSION['user']);
unset($_SESSION['pass']);
header('Location: ?op=news');
}}
function check_user()
{
if(stripslashes($_GET['op']) == user &
stripslashes($_SESSION['user']) == false or
stripslashes($_GET['op'])) == account &
stripslashes($_SESSION['user']) == false) {
header('Location: ?op=news'); }
}
?>
<form action="" method="post">
<?php
if(isset($_SESSION['fail']))
{
if($_SESSION['fail'] > 3) {
echo $_SESSION['captcha_code'];
echo '<br />';
echo '<input type="text" name="captcha" />';
}
}
if(isset($error['captcha'])) {echo $error['captcha'];}
?>
<input type="text" name="login" />
<input type="password" name="pass" />
<input type="submit" name="send" value=" Login " />
</form>