انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کد امنیتی

کد امنیتی

#1
سلام لطفا اگه راهنمایی کنید ممنون میشم 
کد امنیتی و اعتبار سنجی فرمم که با php نوشته شده با هم کار نمی کنن!! یعنی وقتی submit میزنم کد امنیتی اگه صحیح وارد شده باشه بدون توجه به درست و غلط بودن فیلدها اجرا میشه چطوری به کد امنیتی بگم که تا وقتی فرم به صورت صحیح وارد نشده عملیات بعدی رو انجام نده؟؟ 
این php برای اعتبار سنجی کد امنیتی، که بالای صفحه نوشتم
کد پی‌اچ‌پی:
session_start();
if(isset(
$_POST['Submit2'])){    // code for check server side validation    $correct_captcha = @$_SESSION['captcha_code'];    unset($_SESSION['captcha_code']);    if (strcasecmp($correct_captcha, $_POST['captcha_code']) != 0){        $msg= "<span style='color:#f7601d;font-size:14pt;font-family:yekan'>کد امنیتی صحیح نیست</span>";// Captcha verification is incorrect.    }else{header('Location: http://localhost/startup2/config.php');    exit();}    } 
و اینم کد html
<!DOCTYPE html>
<head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>


    <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />    
<link href="SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />    
<link href="phpcaptcha/css/style.css" rel="stylesheet" type="text/css" />    
<script type='text/javascript'>
        function refreshCaptcha()
{            var img = document.images['captchaimg'];            img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;        }    
</script>
</head>
<body>

<?php
$textfield5Err = "";
$textfield5 = "";
if ($_SERVER["REQUEST_METHOD"] == "POST"){
if (empty($_POST["textfield5"])) {$textfield5Err = "<span class='error'>لطفا ایمیل را وارد کنید.</span>";}
    else    {$textfield5 = test_input($_POST["textfield5"]);        if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$textfield5))        {$textfield5Err = "<span class='error'>ایمیل صحیح نیست</span>";} }
}
function test_input($data)
{    $data = trim($data);    $data = stripslashes($data);    $data = htmlspecialchars($data);    return $data;}
?>
<form dir="rtl" id="form1" name="form1" method="post" action="">
ایمیل:
<input type="text" name="textfield5" id="textfield5" class="unrequired" value="<?php echo @$_POST['textfield5']?>"/>                
<?php if ($textfield5Err!=""){echo $textfield5Err;} ?>

<table width="306" border="0" align="center" cellpadding="5" cellspacing="5" class="table">                              
<?php if(isset($msg)){?>                                  <tr>                                      <td colspan="2" align="center" valign="top"><?php echo $msg;?></td>                                  </tr>                              <?php } ?>                              <tr>
                                  <td><a href='javascript: refreshCaptcha();'><img src="images/search_icon.png" width="24px" height="24px" align="left"/></a>                                      <img src="phpcaptcha/captcha.php?rand=<?php echo rand();?>" align="left" id='captchaimg'><br/><br/><br/>                                      <label for='message' dir="rtl" class="lable_1">لطفا کد امنیتی را وارد کنید:</label>                                      <br>
                                      <input style="width:276px;height:25px;font-size:12pt" maxlength="10" id="captcha_code" name="captcha_code" type="text" autocomplete="off">                                      <br>                                  </td>                              </tr>                              <tr>                                  <td><button style="width:284px;height:40px" name="Submit2" id="Submit2" type="submit" class="button1"> ثبت</button></td>                              </tr>                          </table>
</form>
</body>
</html>
 
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان