Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

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

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

Συντονιστές: WebDev Moderators, Super-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
Δημοσιεύσεις: 3392
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

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

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

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

Απάντηση

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

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

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