freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Δημιουργία CAPTCHA


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » PHP Προγραμματισμός και εφαρμογές » PHP τα δικά μας scripts
Moderators:  PHP Moderators, Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 2 [25 Μηνύματα]      Bookmarks Tags: cssδημιουργίαcaptcha Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
Σελίδα:  1, 2 Επόμενο
ΑποστολέαςΜήνυμα
_Invisible_


Μέλος από: 16 Νοε 2006
Scripts: 2
Μηνύματα: 256+

Περιοχή: Greece
View users profile
ΜήνυμαΣτις: 05 Ιαν 2007 03:28    Θέμα: Δημιουργία CAPTCHA
Περιγραφή θέματος: και με ωραίο CSS
Απάντηση με παράθεση  Mark this post and the followings unread

Γεια σας.

Σκέφτηκα ότι ένα CAPTCHA για κάθε εφαρμογή είναι απαραίτητο και έτσι αποφάσισα πως αν κάποιος άλλος το χρειαστεί μπορεί να το βρει εδώ. Το έφτιαξα για μένα, αλλά αποφάσισα να το μοιραστούμε...

Θα χρησιμοποιήσουμε αυτό το function:

κώδικας:

function generateCAPTCHA()
{
   $random_number = rand (3546, 5134);

   $_SESSION['captcha'] = md5($random_number);


   return '<span class="captcha">' . $random_number . '</span>';

}


τώρα πως θα το χρησιμοποιήσουμε:

test.php
κώδικας:

<?php

session_start();

function generateCAPTCHA()
{
   $random_number = rand (3546, 5134);

   $_SESSION['captcha'] = md5($random_number);


   return '<span class="captcha">' . $random_number . '</span>';

}


if (! isset($_POST['submit_form']))
{
?>
   <style type="text/css">
      .captcha {
         position : relative;
         padding: 7px;
         font-weight : bold;
         background : #9caf9c;
         color : #000;
         margin : 5em auto;
      }
   </style>
   
   <form action="test.php" method="post">
   Doste Kodiko: <input type="text" name="kodikos" size="15" /><br /><br />
   Kodikos: <?=generateCAPTCHA();?><br /><br />
   <input type="submit" name="submit_form" value="Submit!" />
   </form>
   
<?php
}
else if ( isset($_POST['submit_form']) )
{
   $kodikos_given = trim($_POST['kodikos']);

   if (! $kodikos_given )
   {
      header('Location: test.php');
   }

   if ($_SESSION['captcha'])
   {
      $session_given = trim($_SESSION['captcha']);
   }
   else if ($_SESSION['captcha'] == '')
   {
      header('Location: test.php');
   }
   
   if ($session_given == md5($kodikos_given))
   {
      echo 'o kodikos einai sostos!!!!';
   }
   else
   {
      die('o kodikos pou dosate einai lathos');
   }
}

?>


Το δοκίμασα πριν το κάνω post και δουλεύει κανονικά. Τώρα φυσικά οι αλλαγές που πρέπει να κάνετε δεν είναι πολλές... Απλά φαντασία θέλει... Καλό ε!

Ελπίζω να σας άρεσε,
Ευχαριστώ Invisible



test.zip
 Description:
CAPTCHA Test

Download
 Filename:  test.zip
 Filesize:  686 Bytes
 Downloaded:  945 Time(s)

nastis


Μέλος από: 16 Φεβ 2005
Μηνύματα: 124

View users profile Visit posters website
ΜήνυμαΣτις: 05 Ιαν 2007 09:53    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

_Invisible_
Σόρρυ κιόλας, αλλα δεν είναι και πολύ χρήσιμη η εφαργμογή σου ToolTimes at work

Επίσης μάλλον δεν πρέπει να ονομάζεται καν CAPTCHA
http://en.wikipedia.org/wiki/Captcha
παράθεση:
"Completely Automated Public Turing test to tell Computers and Humans Apart"...
used in computing to determine whether or not the user is human


Το δικό σου μπορεί να διαβάζει κανείς το
<span class="captcha"></span> σου και να έχει plain text μάλιστα τον αριθμό που έβαλες.
πράγμα που είναι πανεύκολο να "διαβαστεί" με ένα scriptaki από μη-άνθρωπο.

Γιαυτό συνηθίζουνε να το κάνουνε
α) image
β) distorted (για να μην διαβάζεται από OCR)

άλλη προσέγγιση είναι και αυτή
http://www.hotcaptcha.com/

Φιλικά
Β.

_________________
www.oktonia.com - Παγκόσμιο Χωριό Γνώσης Λυμένα Θέματα Εξετάσεων - Ασκήσεις
zeppos


Μέλος από: 26 Μαρ 2006
Μηνύματα: 256+
Περιοχή: Kyklades
View users profile Visit posters website
ΜήνυμαΣτις: 05 Ιαν 2007 13:43    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Invi μην βιάζεσαι..Captcha είναι η εμφάνιση γραμμάτων ή αριθμών μέσα σε μια εικόνα την οποία φιάχνει η εντολή
imageCreate($size_x,$size_y) ώστε να μην μπορεί το ρομποτ να την διαβάσει..(Υπάρχουν όμως σπαστήρια!!)
Ψάξε την εντολή και θα δείς τη διαφορά.
_Invisible_


Μέλος από: 16 Νοε 2006
Scripts: 2
Μηνύματα: 256+

Περιοχή: Greece
View users profile
ΜήνυμαΣτις: 05 Ιαν 2007 15:57    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Eυχαριστώ παιδιά δεν το ήξερα, ούτως η άλλως δεν το έβαλα για να γίνει tutorial...

Μα πώς γίνεται το bot να βρίσκει τον τυχαίο αριθμό του rand (3546, 5134) ?????????

Last edited by _Invisible_ on 05 Ιαν 2007 16:15, edited 1 time in total
_Invisible_


Μέλος από: 16 Νοε 2006
Scripts: 2
Μηνύματα: 256+

Περιοχή: Greece
View users profile
ΜήνυμαΣτις: 05 Ιαν 2007 16:14    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

SOLVED:

test.php:
κώδικας:

<?php

session_start();

header("Content-type: image/png");
$im = imagecreate(50, 40) or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 100, 90, 60);

$rand_text = rand(3049, 4059);
$_SESSION['cpt'] = md5($rand_text);

imagestring($im, 5, 5, 5,  "$rand_text", $text_color);
imagepng($im);
imagedestroy($im);

?>


test_page.php:
κώδικας:

<?php

session_start();


if (! isset($_POST['submit_form']) )
{
?>
   <form action="test_page.php" method="post">
   Kodikos: <input type="text" name="kodikos" size="15" /><br />
   <img src="test.php"><br />
   <input type="submit" name="submit_form" value="Submit!" />
   </form>

<?php
}
else if ( isset($_POST['submit_form']) )
{
   if ( isset($_POST['kodikos']) )
   {
      if (md5($_POST['kodikos']) == $_SESSION['cpt'])
      {
         echo 'kodikos correct :D';
      }
      else
      {
         echo 'kodikos not correct :(';
      }
   }
}


?>


Τώρα το εμφανίζει σε εικόνα και δουλεύει και πάλι
panosru
WebDev Moderator

Μέλος από: 13 Σεπ 2005
Βοηθήματα: 2
Scripts: 2
Μηνύματα: 256+

Περιοχή: Camp
View users profile
ΜήνυμαΣτις: 05 Ιαν 2007 16:46    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

To metefera sta dika mas scripts, apla invi ayto den einai captcha to ebala edo me skopo na anaptyxthei to script gi' ayto douleia!!! mhn epanapayese!
_Invisible_


Μέλος από: 16 Νοε 2006
Scripts: 2
Μηνύματα: 256+

Περιοχή: Greece
View users profile
ΜήνυμαΣτις: 05 Ιαν 2007 16:49    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

pano το έχουμε πει 1000 φορές δεν επαναπαύομαι και δεν ήθελα να γίνει tutorial (αν κάποιοι από εσάς αυτό νομίσατε). Πάντως δηλαδή τι άλλο θα μπορούσαμε να βάζαμε για να το κάναμε να είναι πιο ασφαλές;

Ευχαριστώ πολύ για τις απαντήσεις σας.
tix-3-


Μέλος από: 25 Μαρ 2004
Βοηθήματα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Θεσσαλονικη-Καβαλα-βεροια(το τριγωνο της καταρας)
View users profile Visit posters website
ΜήνυμαΣτις: 05 Ιαν 2007 19:30    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

απο τον "δικο μας" cherouvim
http://www.cherouvim.com/el/programming/captcha
ThyClub
Honorary Member

Μέλος από: 17 Νοε 2003
Βοηθήματα: 8
Νέα: 2
Templates: 3
Scripts: 5
Μηνύματα: 256+

Περιοχή: Hell's Kitchen
View users profile Visit posters website
portfolio facebook twitter deviantART digg del.icio.us 
skype 
ΜήνυμαΣτις: 05 Ιαν 2007 20:19    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Και όπως είχε αναφέρει και σε κάποιο πόστ ο cherouvim καλύτερα αντί για απλά χαρακτήρες να δίνεις στον χρήστη να σου πεί πόσο είναι το αποτέλεσμα μιας πράξης...

ΠΧ Μια εικόνα με το κείμενο: 8+4 και ο χρήστης να πρέπει να δώσει το αποτέλεσμα: 12

cherouvim
Script Master

Μέλος από: 13 Ιουλ 2005
Βοηθήματα: 7
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Athens, Greece
View users profile Visit posters website
blog linkedin twitter 
ΜήνυμαΣτις: 05 Ιαν 2007 22:24    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

thanks for the credit

_________________
blog
21century


Μέλος από: 11 Ιουλ 2002
Μηνύματα: 256+

View users profile
ΜήνυμαΣτις: 27 Μαρ 2007 19:11    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Μπορουμε να βρουμε σκριπτακι για να αποκλειονται οι σπαμερς εντελως?

_________________
Freegr network Η πύλη των PC - http://freegr.blogspot.com
xatzh


Μέλος από: 11 Αυγ 2007
Μηνύματα: 15

View users profile
ΜήνυμαΣτις: 11 Αυγ 2007 22:39    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

re pedia exo mperdefti ligo pos doylebi ayto diladi
poy bazoume ton κώδικα ego kano mia selida ton bazo ala den moy doylebi as eksigisi kapios pos ginete ke se mena ton asxeto kita to moy bgazi

exo kani akoma ena post edo
http://www.freestuff.gr/forums/viewtopic.php?t=30375
_Invisible_


Μέλος από: 16 Νοε 2006
Scripts: 2
Μηνύματα: 256+

Περιοχή: Greece
View users profile
ΜήνυμαΣτις: 16 Αυγ 2007 16:32    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Hello και ευχαριστώ για τις απαντήσεις σας.

@21century: Η ερώτηση αυτή δεν ξέρω αν μπορεί να απαντηθεί σίγουρα... Πάντως οι προγραμματιστές χρησιμοποιούν όλο και καλύτερες τεχνικές για να σταματούν όσο το δυνατόν γίνεται τα bots. Εγώ έκανα αυτό που είπε ο cherouvim: Έκανα ένα captcha που εμφανίζει μία πράξη (αφαίρεση, πρόσθεση) και αποθηκεύει το αποτέλεσμα της πράξης σε ένα session.

@xatzh: Όπως βλέπω έχεις δημιουργήσει μία φόρμα. Αυτό που πρέπει να κάνεις είναι το εξής: Να ορίσεις πού θα κάνει request αυτή η φόρμα, δηλαδή που θα οδηγεί το action="" και εκεί να βάλεις ένα script που θα επεξεργάζεται την φόρμα που υποβλήθηκε.

Όπως βλέπω, έχεις ένα μικρό προβληματάκι με το captcha σου. Κοίτα τι πρέπει να κάνεις: Πρέπει να δώσεις σωστό path. Αν είσαι σίγουρος ότι στο src="" του image tag σου έχεις ορίσει σωστό path, τότε τρέξε το captcha αρχείο directly από τον browser σου (πχ: http://localhost/captcha.php) και δες αν σου εμφανίζει κάποιο σφάλμα.

Αν δεν σου εμφανίζει κάποιο σφάλμα, και εξακολουθεί να μην σου εμφανίζει την εικόνα, πολύ απλά βάλε στο αρχείο captcha το ακόλουθο (στην αρχή):
κώδικας:

error_reporting(E_ALL);
ini_set('display_errors', true);


και τότε ίσως εμφανίσει κάποιο σφάλμα. Αν εμφανίζει σωστά την εικόνα χωρίς προβλήματα, τότε έλεγξε το path που έχεις ορίσει στην εικόνα σου. Αν δεν γνωρίζεις HTML, το image tag είναι αυτό:
κώδικας:

<img src="path_eikonas" alt="" />


Το μόνο που πρέπει να κάνεις είναι να αλλάξεις το "path_eikonas" με το url του αρχείου captcha.

Οτιδήποτε χρειαστείς κάνε ένα post εδώ πέρα και θα σε βοηθήσουμε.

Φιλικά,
invisible.
xatzh


Μέλος από: 11 Αυγ 2007
Μηνύματα: 15

View users profile
ΜήνυμαΣτις: 17 Αυγ 2007 13:36    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

ipon pedia eyxaristo giati boi8iasas telika to eytiaksa ke i ikona doylebi kanonika ala patao register ke mou to kani pali to register xoris na ipologisi tin ikona ton ari8mo enoo.iparxi kati alo mpori kapios na boi8isi na toy stilo to arxio na to dio kodikas tis selidas ine aytos ama boi8ai se kati

κώδικας:
<link href="../../css/style.css" rel="stylesheet" type="text/css"> <form name="form1" method="post" action="">
  <table width="400" border="0" cellpadding="0" cellspacing="0" class="main-tables">
    <tr class="label-txt">
      <td width="228" bgcolor="#003333">&nbsp;</td>
      <td width="83" bgcolor="#003333">&nbsp;</td>
      <td width="487" bgcolor="#003333">&nbsp;</td>
  </tr>
  <tr class="label-txt">
      <td rowspan="2" bgcolor="#003333">&nbsp;</td>
      <td colspan="2" class="logo-txt" bgcolor="#003333">&nbsp;</td>
  </tr>
  <tr class="label-txt">
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
  </tr>
  <tr>
      <td bgcolor="#003333">&nbsp;</td>
      <td class="label-txt" bgcolor="#003333"><font color="#FFFFFF"><b>Login:</b></font></td>
      <td bgcolor="#003333">
        <input type="text" name="login" maxlength="10" size="16">
      </td>
  </tr>
  <tr class="label-txt">
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333"><font color="#FFFFFF"><b>Password:</b></font></td>
      <td bgcolor="#003333">
        <input type="password" name="password" maxlength="10" size="16">
      </td>
  </tr>
  <tr class="label-txt">
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333"><font color="#FFFFFF"><b>Retype:</b></font></td>
      <td bgcolor="#003333">
        <input type="password" name="password2" maxlength="10" size="16">
      </td>
  </tr>
  <tr class="label-txt">
      <td bgcolor="#003333" height="119">&nbsp;</td>
      <td bgcolor="#003333" height="119"><font color="#FFFFFF"><b>Kodikos</b></font></td>
      <td bgcolor="#003333" height="119">
        <p>&nbsp;</p>
        <p><img src="captcha.php"></p>
        <p>
          <input type="text" name="kodikos" size="16" />
        </p>
        <p>
          <input type="submit" name="Submit" value="Register">
        </p>
        <p>
          <?php
}
else if ( isset($_POST['submit_form']) )
{
   if ( isset($_POST['kodikos']) )
   {
      if (md5($_POST['kodikos']) == $_SESSION['cpt'])
      {
         echo 'kodikos correct :D';
      }
      else
      {
         echo 'kodikos not correct :(';
      }
   }
}


?>
        </p>
      </td>
  </tr>
  <tr class="label-txt">
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
      <td bgcolor="#003333">&nbsp;</td>
  </tr>
 </table>
</form>
mrpc
WebDev Moderator

Μέλος από: 03 Μαη 2000
Βοηθήματα: 6
Νέα: 5
Scripts: 4
Μηνύματα: 256+

Περιοχή: Εξάρχεια
View users profile Visit posters website
blog portfolio picasa myspace facebook linkedin 
hi5 sync twitter deviantART digg del.icio.us 
skype 
ΜήνυμαΣτις: 17 Αυγ 2007 20:28    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

xatzh σου έβαλα code tag στο μήνυμα σου για να είναι πιο ευανάγνωστο.

_________________
[ Ψάχνεις babysitter; | Pramnos.net | Ικαρία | Ομορφιά | mrpc's Blog ]
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 2 [25 Μηνύματα] Σελίδα:  1, 2 Επόμενο
Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » PHP Προγραμματισμός και εφαρμογές » PHP τα δικά μας scripts
Τώρα είναι 11 Δεκ 2016 02:16 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos