• 01-03-2014, 22:39:55
    #1
    php formum var. detaylı bir form. bir güvenlik kodu eklemek istedim. bir kaç sitede paylaşılan güvenlik kodu php kodlarını aldım uyguladım fakat forma entegre olarak değil. Yani sadece güvenlik kodu doğrumu değilmi ekrana onu yazdırıyor. ben bunu forma nasıl entegre edebilirim. Yardımcı olabilecek varmı?

    Şuanki formda eksik kalan yerleri java script ile uyarı verdiyorum. Bir de catpcha eklenecek.

    Şimdiden yardımcı olacak arkadaşlara tşkler.
  • 01-03-2014, 23:18:48
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @buddy; @bknz: http://www.phpcaptcha.org/documentat...ckstart-guide/
  • 02-03-2014, 13:55:52
    #3
    tşk ederim inceliyorum. fakat türkçe değil. anladığım kadarıyla yapmaya çalışacağım şimdi.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 13:55:52 -->-> Daha önceki mesaj 13:50:12 --


    Şİmdi indirdiğim inceledim. çok fazla seçenek ve dosya var. çok ayrıntılı birşey yapmışlar. sesli seçenek de var. Bunu siz daha önce kullandıysanız projenizde kısaca basitçe biraz anlatabilirmisiniz?
  • 02-03-2014, 14:09:29
    #4
    En basitinden rand ile x ve y değerleri oluşturup bunu hidden inputta toplatın daha sonra kullanıcı ya x ve y değerinin toplatılmasını isteyin eğer hidden deki değerle kullanıcının gönderdiği değer eşit değilse uyarı verdirin bu kolay ve basittir.


    iPhone 'den Tapatalk aracılığı ile gönderildi
  • 02-03-2014, 14:40:05
    #5
    @buddy; Hazırladığım uygulamayı kullanabilmen için PHP sürümün 5.3.3 ve üzeri olması gerekmektedir.

    * Composer kurulumu ve kullanımı hakkında bilgin yoksa şu konuyu okuyabilirsin.

    * Uygulamanın çalışan halini bu bağlantıdan indirebilirsin.

    composer.json;
    {
    	"minimum-stability": "dev",
    	"require": {
    		"dapphp/securimage": "dev-master",
    		"imsaintx/utils": "dev-master"
    	}
    }
    index.php;
    <?php
    	# Varsayılan Tarih/Zaman yerelleştirmesini ayarlayalım.
    	date_default_timezone_set("Europe/Istanbul");
    	# Bağımlılıkları yükleyelim.
    	require("vendor/autoload.php");
    	# Oturumu başlatalım.
    	session_start();
    ?><!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="author" type="text/plain" href="http://saintx.net/humans.txt" />
    		<link rel="icon" type="image/x-icon" href="http://saintx.net/storage/assets/images/favicon.ico" />
    		<link rel="shortcut icon" type="image/x-icon" href="http://saintx.net/storage/assets/images/favicon.ico" />
    		<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.7.1/modernizr.min.js"></script>
    		<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    		<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.0/js/bootstrap.min.js"></script>
    		<script type="text/javascript">
    			$(function() {
    				Modernizr.load([
    					"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.0/css/bootstrap.min.css",
    					"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.min.css"
    				]);
    				
    				$("body").css("padding", "1em");
    				
    				$(".full-width").css("width", "100%");
    			});
    		</script>
    	</head>
    	<body>
    		<form action="verify.php" method="post" class="panel panel-default form-horizontal">
    			<div class="panel-heading">
    				<h1 class="panel-title">
    					<i class="icon icon-globe"></i>
    				</h1>
    			</div>
    			<div class="panel-body">
    				<div class="form-group">
    					<div class="col-sm-2">
    						<img src="captcha.php" />
    					</div>
    					<label for="captcha" class="col-sm-2 control-label">
    						Doğrulama kodu:
    					</label>
    					<div class="col-sm-8">
    						<input type="text" id="captcha" class="form-control" name="captcha_code" placeholder="Doğrulama kodunu buraya yazın." required />
    					</div>
    				</div>
    			</div>
    			<div class="panel-footer">
    				<button type="submit" class="btn btn-default full-width">Verify</button>
    			</div>
    		</form>
    	</body>
    </html>
    captcha.php;
    <?php
    	# Varsayılan Tarih/Zaman yerelleştirmesini ayarlayalım.
    	date_default_timezone_set("Europe/Istanbul");
    	# Bağımlılıkları yükleyelim.
    	require("vendor/autoload.php");
    	# Oturumu başlatalım.
    	session_start();
    	# Sınıfı başlatalım.
    	$img = new Securimage();
    	# Büyük/küçük harf duyarlılığı aktif
    	$img->case_sensitive = true;
    	# Doğrulama resminin yüksekliği
    	$img->image_height = 90;
    	# Doğrulama resminin genişliği
    	$img->image_width = $img->image_height * M_E;
    	# Doğrulama resminin tipi
    	$img->image_type = Securimage::SI_IMAGE_JPEG;
    	# Doğrulama resmini ekrana yazalım.
    	$img->show();
    verify.php;
    <?php
    	# Varsayılan Tarih/Zaman yerelleştirmesini ayarlayalım.
    	date_default_timezone_set("Europe/Istanbul");
    	# Bağımlılıkları yükleyelim.
    	require("vendor/autoload.php");
    	# Oturumu başlatalım.
    	session_start();
    	# Utils sınıfını kullanacağımızı belirtelim.
    	use \Tools\Utils;
    	# Dosya karakter setini UTF-8 olarak ayarlayalım.
    	Utils::utf8_headers("text/plain");
    	# Sınıfı başlatalım.
    	$securimage = new Securimage();
    	# Doğrulama işlemini yapalım.
    	if($securimage->check($_POST["captcha_code"]))
    	{
    		echo "Tebrikler, doğrulama kodunu doğru girdiniz.";
    	}
    	else
    	{
    		echo "Doğrulama kodunu hatalı girdiniz. Geri dönüp, doğrulama kodunu yeniden giriniz.";
    	}




    Doğrula dediğimde karşılaştığım uyarı;


    Bi' üstteki sayfadayken F5 yapıp yeniden formu gönderdiğimde karşılaştığım uyarı;
  • 02-03-2014, 16:07:23
    #6
    ByAkman adlı üyeden alıntı: mesajı görüntüle
    En basitinden rand ile x ve y değerleri oluşturup bunu hidden inputta toplatın daha sonra kullanıcı ya x ve y değerinin toplatılmasını isteyin eğer hidden deki değerle kullanıcının gönderdiği değer eşit değilse uyarı verdirin bu kolay ve basittir.


    iPhone 'den Tapatalk aracılığı ile gönderildi
    şuan kullandığm forma nasıl entegre edeceğim? bu oldukça pratik bir yönteme benziyor. zaten çok karmakarışık rakamlar harfler üretmemi gerektirmiyor.
  • 02-03-2014, 16:08:18
    #7
    @buddy; verdiğim örneği inceledin mi?
  • 02-03-2014, 16:10:06
    #8
    çok teşekkür ederim ilginiz için fakat bu projem için biraz abartılı ve çok profesyonel görünüyor. daha basit yukardaki arkadaşın önerdiği gibi veya bahsettiğiniz ek ihtiyaçlara gerek duymayan basit bir captcha benim için yeterli ve sitem için daha uyumlu olur. Benzer bir çok catpcha örnekleri var üzerilerinde çalıştım fakat varolan bir forma entegre etmede sorun yaşıyorum. bunun mantığını öğrenmek istiyorum. tkrar tşkler.


    saintx adlı üyeden alıntı: mesajı görüntüle
    @buddy; Hazırladığım uygulamayı kullanabilmen için PHP sürümün 5.3.3 ve üzeri olması gerekmektedir.

    * Composer kurulumu ve kullanımı hakkında bilgin yoksa şu konuyu okuyabilirsin.

    * Uygulamanın çalışan halini bu bağlantıdan indirebilirsin.

    composer.json;
    {
        "minimum-stability": "dev",
        "require": {
            "dapphp/securimage": "dev-master",
            "imsaintx/utils": "dev-master"
        }
    }
    index.php;
    <?php
        # Varsayılan Tarih/Zaman yerelleştirmesini ayarlayalım.
        date_default_timezone_set("Europe/Istanbul");
        # Bağımlılıkları yükleyelim.
        require("vendor/autoload.php");
        # Oturumu başlatalım.
        session_start();
    ?><!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8" />
            <link rel="author" type="text/plain" href="http://saintx.net/humans.txt" />
            <link rel="icon" type="image/x-icon" href="http://saintx.net/storage/assets/images/favicon.ico" />
            <link rel="shortcut icon" type="image/x-icon" href="http://saintx.net/storage/assets/images/favicon.ico" />
            <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.7.1/modernizr.min.js"></script>
            <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
            <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.0/js/bootstrap.min.js"></script>
            <script type="text/javascript">
                $(function() {
                    Modernizr.load([
                        "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.0/css/bootstrap.min.css",
                        "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.min.css"
                    ]);
                    
                    $("body").css("padding", "1em");
                    
                    $(".full-width").css("width", "100%");
                });
            </script>
        </head>
        <body>
            <form action="verify.php" method="post" class="panel panel-default form-horizontal">
                <div class="panel-heading">
                    <h1 class="panel-title">
                        <i class="icon icon-globe"></i>
                    </h1>
                </div>
                <div class="panel-body">
                    <div class="form-group">
                        <div class="col-sm-2">
                            <img src="captcha.php" />
                        </div>
                        <label for="captcha" class="col-sm-2 control-label">
                            Doğrulama kodu:
                        </label>
                        <div class="col-sm-8">
                            <input type="text" id="captcha" class="form-control" name="captcha_code" placeholder="Doğrulama kodunu buraya yazın." required />
                        </div>
                    </div>
                </div>
                <div class="panel-footer">
                    <button type="submit" class="btn btn-default full-width">Verify</button>
                </div>
            </form>
        </body>
    </html>
    captcha.php;
    <?php
        # Varsayılan Tarih/Zaman yerelleştirmesini ayarlayalım.
        date_default_timezone_set("Europe/Istanbul");
        # Bağımlılıkları yükleyelim.
        require("vendor/autoload.php");
        # Oturumu başlatalım.
        session_start();
        # Sınıfı başlatalım.
        $img = new Securimage();
        # Büyük/küçük harf duyarlılığı aktif
        $img->case_sensitive = true;
        # Doğrulama resminin yüksekliği
        $img->image_height = 90;
        # Doğrulama resminin genişliği
        $img->image_width = $img->image_height * M_E;
        # Doğrulama resminin tipi
        $img->image_type = Securimage::SI_IMAGE_JPEG;
        # Doğrulama resmini ekrana yazalım.
        $img->show();
    verify.php;
    <?php
        # Varsayılan Tarih/Zaman yerelleştirmesini ayarlayalım.
        date_default_timezone_set("Europe/Istanbul");
        # Bağımlılıkları yükleyelim.
        require("vendor/autoload.php");
        # Oturumu başlatalım.
        session_start();
        # Utils sınıfını kullanacağımızı belirtelim.
        use \Tools\Utils;
        # Dosya karakter setini UTF-8 olarak ayarlayalım.
        Utils::utf8_headers("text/plain");
        # Sınıfı başlatalım.
        $securimage = new Securimage();
        # Doğrulama işlemini yapalım.
        if($securimage->check($_POST["captcha_code"]))
        {
            echo "Tebrikler, doğrulama kodunu doğru girdiniz.";
        }
        else
        {
            echo "Doğrulama kodunu hatalı girdiniz. Geri dönüp, doğrulama kodunu yeniden giriniz.";
        }




    Doğrula dediğimde karşılaştığım uyarı;


    Bi' üstteki sayfadayken F5 yapıp yeniden formu gönderdiğimde karşılaştığım uyarı;
  • 02-03-2014, 19:34:31
    #9
    @buddy, php dilinde basit bir güvenlik kodu mantığını aşağıdaki adrese ekledim. Ben çoğu sitemde kullanıyorum. Umarım işine yarar

    Güvenlik Kodu