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

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

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


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


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

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

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



κώδικας:

<?
session_start();
$NewImage =imagecreatefromjpeg("img.jpg");
$praksh[1] = '+';
$praksh[2] = '-';
$praksh[3] = '*';
$arg1 = rand (1,9);
$arg2 = rand (1,9);
$tpraksh = $praksh[rand (1,3)];
$string = $arg1;
$string .= ' '.$tpraksh;
$string .= ' '.$arg2;
$LineColor = imagecolorallocate($NewImage,rand(0,255),rand(0,255),rand(0,255));
$TextColor = imagecolorallocate($NewImage, rand(0,255),rand(0,255),rand(0,255));

imageline($NewImage,rand(0,55),rand(0,55),rand(0,55),rand(0,55),$LineColor);
imageline($NewImage,rand(0,55),rand(0,55),rand(0,55),rand(0,55),$LineColor);
imagestring($NewImage, 5, 20, 10, $string, $TextColor);
$_SESSION['key'] =  getresult($arg1,$tpraksh,$arg2);
header("Content-type: image/jpeg");

imagejpeg($NewImage);
function getresult ($arg1,$tpraksh,$arg2) {
   
   if ($tpraksh == '+') $result = $arg1+$arg2;
   else    if ($tpraksh == '+') $result = $arg1-$arg2;
       else      $result = $arg1*$arg2;
        return $result;
 }

?>



To πρωτο προβλημα που εχω ειναι οτι αν το κανω καμμια 200αρια φορες refresh ανεβαινει πολυ το server load (καλα οχι πολυ,ΠΟΛΥ)
Παω να παρω τον 2ο καφε
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 
ΜήνυμαΣτις: 18 Ιαν 2007 17:27    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Στο πρώτο κοιτάς αν είναι "+" και στο δεύτερο ξανά αν είναι "+"
κώδικας:
if ($tpraksh == '+') $result = $arg1+$arg2;
   else    if ($tpraksh == '-') $result = $arg1-$arg2;
       else      $result = $arg1*$arg2;
        return $result;
 }
Τώρα είναι λίγο καλύτερα

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


Μέλος από: 23 Σεπ 2005
Μηνύματα: 162

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

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

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

κώδικας:

$_SESSION['key'] =  getresult($arg1,$tpraksh,$arg2);


αφού δεν προσφέρει κάποια ασφάλεια. Εφόσον η απάντηση είναι προσβάσιμη άμεσα, έστω και σαν session variable, οποιοδήποτε prog που πιθανώς να μπορεί να χρησιμοποιήσει sessions, αυτομάτως βλέπει την απάντηση.

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

κώδικας:

$_SESSION['key'] =  md5("mysecretpassword!".getresult($arg1,$tpraksh,$arg2));


όπου μετά στην επόμενη σελίδα τσεκάρουμε το md5 hash του session, με το md5 που δημιουργούμε με βάση την απάντηση του χρήστη.
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 
ΜήνυμαΣτις: 20 Ιαν 2007 04:36    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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

Βέβαια στην τελική κάθε μικρή βελτίωση είναι θεμιτή. Οπότε +1 Hik
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 
ΜήνυμαΣτις: 20 Ιαν 2007 11:09    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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

_________________
[ Ψάχνεις babysitter; | Pramnos.net | Ικαρία | Ομορφιά | mrpc's Blog ]
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [5 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » PHP Προγραμματισμός και εφαρμογές » PHP τα δικά μας scripts
Τώρα είναι 07 Δεκ 2016 22:15 | 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