IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   PHP (https://www.ircforumlari.net/php/)
-   -   PHP - Resim Doğrulama ya da Güvenlik Kodu [MySQL, PHP, AJAX] (https://www.ircforumlari.net/php/36349-php-resim-dogrulama-ya-da-guvenlik-kodu-mysql-php-ajax.html)

Nickolas 20 Ağustos 2007 13:15

PHP - Resim Doğrulama ya da Güvenlik Kodu [MySQL, PHP, AJAX]
 
Son günlerde DDos ataklarının artması üzerine Güvenlik kodu ya da Resim doğrulama sistemi (MySQL Tipi) Veri Tabanı kullanan her sitenin ihtiyacı haline geldi.

Sizlere vBulletinin kullanmış olduğu Image Kütüphanesini tekrar düzenleyerek kullanılabilir bir sistem çıkardım.

Öncelikle Download linkini vereyim ve nasıl kullanacağınızın açıklamasını yapayım.

Link: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Çalışır Halin Videosu: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Yükleme:
Öncelikle imageverify.rar dosyasının içeriğindeki tüm dosyaları scriptinizin içeriğine atın.

PHP Scriptinizin Veri tabanında Şu SQL Kodunu çalıştırın:
Kod:

CREATE TABLE `imageverify` (
  `imageverifyid` int(10) unsigned NOT NULL auto_increment,
  `imagehash` varchar(32) NOT NULL default '',
  `verifyvalue` varchar(12) NOT NULL default '',
  `time` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`imageverifyid`)
)

Son olarak: includes/config.php içerisinde ki

// Veri Tabanınızın Sunucu Adını
$config['DB']['server'] = 'localhost';

// Veri Tabanınızın Veri Tabanı Portu
$config['DB']['port'] = 3306;

// Veri Tabanı Kullanıcı Adı
$config['DB']['username'] = 'root';

// Veri Tabanı Şifresi
$config['DB']['password'] = '';

// Veri Tabanı Adı
$config['DB']['dbname'] = '';
$config['DB']['useptconnect'] = false;

// Veri Tabanınızın MySQL Versiyonu 4.1 veya Fazla ise Bunu kullanın
$config['DB']['charset'] = '';

$config['Misc']['fullpath'] = '';

// Resim Oluştururken Rasgele Yazı Tipi Kullanılması
$config['image']['randomfont'] = true;

// Resim Oluştururken Rasgele Yazı Büyüklüğü Kullanılması
$config['image']['randomsize'] = false;

// Resim Oluştururken Karekterleri Yatırma
$config['image']['randomslant'] = false;

// Rasgele Renk
$config['image']['randomcolor'] = true;

// Rasgele Biçim
$config['image']['randomshape'] = false;

Kısımınlarını Kendinize göre ayarlayın.

Kullanım:

Kullandığınız php scriptinin En başında Şu kod çalışmalı:

Kod:

<?php
 
require('./global.php');
 
$imagehash = create_newimagehash();
 
?>

Burada $imagehash ile yeni bir Resim Doğrulama Kodunun Anahtarını oluşturuyoruz. AJAX ile Resim Yenilime için: scriptinizin <head></head> tagları arasına

Kod:

<script type="text/javascript" src="js/global.js"></script>
<script type="text/javascript" src="js/class_ajax.js"></script>

Kodlarını ekliyoruz.

Daha sonraki adımda:

Form 'unuza:

Kod:

<input type="hidden" name="imagehash" id="imageverify_hash" value="<?php echo $imagehash; ?>" />
Kodunu ve Formuzun dizaynına göre

Kod:

<img src="image.php?imagehash=<?php echo $imagehash; ?>" id="imageverify_image" /><br />
  <a href="#" id="image_refresh">Resmi Yenile</a> &nbsp; <img src="images/imagerefresh.gif" id="imageverify_indicator" style="display: none;" />

Kodlarını ekleyin.

Güvenlik Kodununun girilebileceği "input" 'u girin. Örnek:

Kod:

Resim Doğrulama Değeri: <input type="text" name="imageverify" maxlength="6" />
ve Son olarak: </body> Tagının Hemen üstüne

Kod:

<script type="text/javascript" src="js/imageverify.js"></script>
<script type="text/javascript">
<!--
 
Image_Verify_Init();
//-->
</script>

Kodlarını ekleyin. Zor gibi görünebilir Fakat En altta ki Örnek Kodu incelediğinizde çok da zor olmadığını göreceksiniz.

Peki Girilen Kodun Doğruluğunu nasıl ölçeriz... Örnek Kod:

Kod:

<?php
require('./global.php');
if ($_POST['imagehash'] AND $_POST['imageverify'])
{
 if (verify_imagehash($_POST['imagehash'], $_POST['imageverify']))
 {
  echo $_POST['imageverify'] . " -> Doğru!";
  exit;
 }
 else
 {
  echo $_POST['imageverify'] . " -> Yanlış!";
  exit;
 }
}
else
{
 echo "Lütfen Resim Doğrulama Alanını Doldurun!";
 exit;
}
?>

Örnek Kod:

Kod:

<?php
require('./global.php');
$imagehash = create_newimagehash();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]">
<html dir="ltr" lang="tr">
<head>
 <meta http-equiv="Pragma" content="no-cache" />
 <meta http-equiv="Expires" content="-1" />
 <meta http-equiv="Cache-Control" content="no-cache" />
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9" />
 <title>Image Verify</title>
 <script type="text/javascript" src="js/global.js"></script>
 <script type="text/javascript" src="js/class_ajax.js"></script>
</head>
<body>
<form method="post" action="test.php">
 <input type="hidden" name="imagehash" id="imageverify_hash" value="<?php echo $imagehash; ?>" />
 <table cellpadding="6" cellspacing="0" width="430" align="center" border="0">
 <tr>
  <td align="center" colspan="2">
  <img src="image.php?imagehash=<?php echo $imagehash; ?>" id="imageverify_image" /><br />
  <a href="#" id="image_refresh">Resmi Yenile</a> &nbsp; <img src="images/imagerefresh.gif" id="imageverify_indicator" style="display: none;" />
  </td>
 </tr>
 <tr>
  <td class="alt" colspan="2">
  Resim Doğrulama Değeri: <input type="text" name="imageverify" maxlength="6" />
  </td>
 </tr>
 <tr>
  <td class="tfoot" colspan="2" align="center">
  <input type="submit" value="Giriş Yap" class="button" />
  </td>
 </tr>
 </table>
</form>
</div>
<script type="text/javascript" src="js/imageverify.js"></script>
<script type="text/javascript">
<!--
 
Image_Verify_Init();
//-->
</script>
</body>
</html>



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 17:49.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk