سلام و درود . امیدوارم حالتون خوب باشه هر چند میدونم این روزا حال خوب داشتن امری است نه غیر ممکن ولی اندکی سخت . احوال خودمم زیاد جالب نیست ولی خب بریم سراغ آموزشی که براتون در نظر گرفتم امشب! خب در این آموزش می خوایم با هم یه کپچا ساده با عملیات ریاضی رو بسازیم . کپچا همون کد امنیتی خودمونه که از ارسال اسپم توسط رباتها و افراد جلوگیری می کند.خب برای ساخت چنین چیزی ابتدا باید بیایم یه تابع بنویسیم که اعداد تصادفی تولید کنه و ساده ترین حالت ممکن برای این کار به صورت زیر هستش.

  • با استفاده از تابع rand در PHP ، می توانیم اعداد تصادفی تولید کنیم. اگر درون پرانتز تابع rand ، هیچ عددی ننویسیم، آنگاه یک عدد دلخواه را بر می گرداند (حداکثر و حداقلی برای آن تعیین نکرده ایم)، اما ما می توانیم حداکثر و حداقل مجاز برای تولید عدد تصادفی را تعیین کنیم که این دو مقدار را باید درون پرانتز تابع rand بنویسیم
  • مثال:در مثال زیر چون داخل تابع rand هیچ مقداری مشخص نکردیم طبیعتا تعداد ارقام تولید در هر بار مشابه نخواهد بود
<?php
$B=rand();
echo($B);
?>
  • اگر بخواهیم محدوده مشخص کنیم باید داخل پرانتز rand مقدار maxوmin را مشخص کنیم مثال:
<?php
$B=rand(0,9);
echo($B);
?>
  • خب من در مثال بالا محدوده اعداد تصادفی رو بین 0تا9 تعریف کردم.شما میتونید به دلخواه خودتون تعین کنید

خب بریم سراغ تابع اصلی که اعداد تصادفی رو برا ما می سازه

<?php
$x=rand(0,9);
$y=rand(0,9);
$z=$x*$y;
?>
  • من داخل قطعه کد بالا گفتم که : $x یک عدد تصادفی بین (0,9) و $y نیز یک عدد تصادفی بین (0,9) تولید کند و در آخر گفتم $z بیاد و مقادیر تولیدی توسط $x و $y رو در هم ضرب کنه !

خب حالا نوبت ساخت فرممون هستش که من با bootstrap ساختمش

<form action="" method="post">
<div class="form-group">
<label for="exampleInput">کد امنیتی</label>
<input type="text" class="form-control" name="user_captcha" placeholder="<?php echo $x;?>*<?php echo $y;?>">
<input type="hidden" value="<?php echo $z; ?>" name="captcha">
</div>
  <button type="submit" name="submit" class="btn btn-primary">ارسال</button>
</form>   
  • و در نهایت باید مقادیری که توسط فرم ارسال می شه چک بشه که آیا کد امنیتی درست هستش یا نه!
<?php
		if(isset($_POST['submit'])) {
		if(($_POST['captcha']) != ($_POST['user_captcha'])){
			  echo('<p class="container alert alert-danger" role="alert"> کد امنیتی را صحیح وارد نمایید!</p>'); 
		}
		else {
			echo('<p class="container alert alert-success" role="alert"> کپچا درست است</p>');
		}
		}
?>

فرم نهایی به صورت زیر هستش

<!DOCTYPE html>
<html>
<head>
	<title>نمونه کپچا - رحمت حاجی سعدین</title>
<link rel="stylesheet" rel="nofollow" href="https://cdn.rtlcss.com/bootstrap/v4.2.1/css/bootstrap.min.css" integrity="sha384-vus3nQHTD+5mpDiZ4rkEPlnkcyTP+49BhJ4wJeJunw06ZAp+wzzeBPUXr42fi8If" crossorigin="anonymous"></head>
<body>

	

<div class="container">

	<div class="alert alert-dark" role="alert">
کپچای ساده</div>

<?php
$x=rand(0,9);
$y=rand(0,9);
$z=$x*$y;
?>
<?php
		if(isset($_POST['submit'])) {
		if(($_POST['captcha']) != ($_POST['user_captcha'])){
			
			  echo('<p class="container alert alert-danger" role="alert"> کد امنیتی را صحیح وارد نمایید!</p>'); 
		}
		else {
			echo('<p class="container alert alert-success" role="alert"> کپچا درست است</p>');
		}

		}
		?>
<form action="" method="post">

  <div class="form-group">
    <label for="exampleInput">کد امنیتی</label>
    <input type="text" class="form-control" name="user_captcha" placeholder="<?php echo $x;?>*<?php echo $y;?>">
    <input type="hidden" value="<?php echo $z; ?>" name="captcha">
  </div>

  <button type="submit" name="submit" class="btn btn-primary">ارسال</button>
</form>   

 </div>

</body>
</html>
  • پ.ن:در این فرم من از ضرب استفاده کردم برای عملیات کپچا شما می تونید به دلخواه خودتون از جمع،تفریت یا تقسیم استفاده کنید
  • پ.ن2:البته برای تقسیم باید یه سری محدودیت ها ایجاد کنید!!!

امیدوارم مطلب مفید واقع شده باشد و اندکی به دانش برنامه نویسی شما اضافه کرده باشد

و در پایان سورسش رو براتون قرار می دم تا اگه مشکلی بود برطرف شه:)

به زودی کپچای پیشرفته تری رو آموزش میدم براتون

 

دانلود فایل-حجم :2KB

پروژه طراحی مجموعه قالب

نکات ساده اما کاربردی ! ریاضی کنکور

جمع بندی فیزیک به قلم رحمت حاجی سعدین

تصادفی ,خب ,تابع ,تولید ,rand ,مثال ,اعداد تصادفی ,تابع rand ,عدد تصادفی ,یک عدد ,کد امنیتی ,اعداد تصادفی تولید

مشخصات

تبلیغات

آخرین ارسال ها

برترین جستجو ها

آخرین جستجو ها

دانلود فایل دانشجویی بهشت رضوان اِنَّ مَعَ العُسرِ یُسرا رسام سرور ایرانیان - خرید سرور چاپ دیجیتال سام زیست شناسی XUM 어썸 سیب گلاب انجمن ورزش های رزمی صنعت آب و برق خوزستان تحصیل شادی