Ενα ενναλακτικο captcha

Μια περιοχή όπου τα μέλη μας μπορούν να βάζουν τα PHP scripts που έχουν φτιάξει και θέλουν να τα μοιραστούν με τα υπόλοιπα μέλη.

Συντονιστές: Super-Moderators, WebDev Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
tix-3-
Δημοσιεύσεις: 827
Εγγραφή: 25 Μαρ 2004 05:12
Τοποθεσία: Θεσσαλονικη-Καβαλα-βεροια(το τριγωνο της καταρας)
Επικοινωνία:

Ενα ενναλακτικο captcha

Δημοσίευση από tix-3- » 18 Ιαν 2007 11:57

Μιας και ο cherouvim το λεει μονιμα οτι καλυτερα ειναι ενα captcha το οποιο να σου ζηταει αποτελεσμα η σχολη μου ειναι κλειστη και σημερα εχω ρεπο με τον πρωινο καφε ειπα να το προσπαθησω


Κώδικας: Επιλογή όλων

<?
session_start&#40;&#41;;
$NewImage =imagecreatefromjpeg&#40;"img.jpg"&#41;;
$praksh&#91;1&#93; = '+';
$praksh&#91;2&#93; = '-';
$praksh&#91;3&#93; = '*'; 
$arg1 = rand &#40;1,9&#41;;
$arg2 = rand &#40;1,9&#41;;
$tpraksh = $praksh&#91;rand &#40;1,3&#41;&#93;;
$string = $arg1; 
$string .= ' '.$tpraksh;
$string .= ' '.$arg2;
$LineColor = imagecolorallocate&#40;$NewImage,rand&#40;0,255&#41;,rand&#40;0,255&#41;,rand&#40;0,255&#41;&#41;; 
$TextColor = imagecolorallocate&#40;$NewImage, rand&#40;0,255&#41;,rand&#40;0,255&#41;,rand&#40;0,255&#41;&#41;;

imageline&#40;$NewImage,rand&#40;0,55&#41;,rand&#40;0,55&#41;,rand&#40;0,55&#41;,rand&#40;0,55&#41;,$LineColor&#41;;
imageline&#40;$NewImage,rand&#40;0,55&#41;,rand&#40;0,55&#41;,rand&#40;0,55&#41;,rand&#40;0,55&#41;,$LineColor&#41;;
imagestring&#40;$NewImage, 5, 20, 10, $string, $TextColor&#41;;
$_SESSION&#91;'key'&#93; =  getresult&#40;$arg1,$tpraksh,$arg2&#41;; 
header&#40;"Content-type&#58; image/jpeg"&#41;; 

imagejpeg&#40;$NewImage&#41;;
function getresult &#40;$arg1,$tpraksh,$arg2&#41; &#123;
   
	if &#40;$tpraksh == '+'&#41; $result = $arg1+$arg2;
	else 	if &#40;$tpraksh == '+'&#41; $result = $arg1-$arg2;
    	else 	  $result = $arg1*$arg2;
        return $result;
 &#125;

?>

To πρωτο προβλημα που εχω ειναι οτι αν το κανω καμμια 200αρια φορες refresh ανεβαινει πολυ το server load (καλα οχι πολυ,ΠΟΛΥ)
Παω να παρω τον 2ο καφε :evil:

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Ενα ενναλακτικο captcha

Δημοσίευση από ThyClub » 18 Ιαν 2007 17:27

Στο πρώτο κοιτάς αν είναι "+" και στο δεύτερο ξανά αν είναι "+"

Κώδικας: Επιλογή όλων

if &#40;$tpraksh == '+'&#41; $result = $arg1+$arg2;
   else    if &#40;$tpraksh == '-'&#41; $result = $arg1-$arg2;
       else      $result = $arg1*$arg2;
        return $result;
 &#125; 
Τώρα είναι λίγο καλύτερα

Αν και πιστεύω οτι το "+" & "*" είναι αρκετά. Καλύτερα να μην μπερδέψεις τον χρήστη με ενα αρνητικό αποτέλεσμα ΠΧ 8-9 = -1 :wink:

Hik
Δημοσιεύσεις: 162
Εγγραφή: 23 Σεπ 2005 10:34

Ενα ενναλακτικο captcha

Δημοσίευση από Hik » 19 Ιαν 2007 02:36

Να κάνω μια ερώτηση.

Ποιο το νόημα του...

Κώδικας: Επιλογή όλων

$_SESSION&#91;'key'&#93; =  getresult&#40;$arg1,$tpraksh,$arg2&#41;;
αφού δεν προσφέρει κάποια ασφάλεια. Εφόσον η απάντηση είναι προσβάσιμη άμεσα, έστω και σαν session variable, οποιοδήποτε prog που πιθανώς να μπορεί να χρησιμοποιήσει sessions, αυτομάτως βλέπει την απάντηση.

Δεν θα ήταν ποιο χρήσιμο ένα

Κώδικας: Επιλογή όλων

$_SESSION&#91;'key'&#93; =  md5&#40;"mysecretpassword!".getresult&#40;$arg1,$tpraksh,$arg2&#41;&#41;;
όπου μετά στην επόμενη σελίδα τσεκάρουμε το md5 hash του session, με το md5 που δημιουργούμε με βάση την απάντηση του χρήστη.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Ενα ενναλακτικο captcha

Δημοσίευση από ThyClub » 20 Ιαν 2007 04:36

Ναί αν το πρόγραμμα τρέχει απο τον σέρβερ. Αν όχι δεν νομίζω να μπορεί να διαβάσει τα sessions. Correct me if i am wrong.

Βέβαια στην τελική κάθε μικρή βελτίωση είναι θεμιτή. Οπότε +1 Hik ;)

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Ενα ενναλακτικο captcha

Δημοσίευση από mrpc » 20 Ιαν 2007 11:09

Το μεταφέρω στην περιοχή: PHP τα δικά μας scripts και συνεχίζουμε την κουβέντα εκεί ;)

Απάντηση

Επιστροφή στο “PHP τα δικά μας scripts”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες