registratie beveiligen

Status
Niet open voor verdere reacties.

JB'tje

Gebruiker
Lid geworden
31 mei 2004
Berichten
556
hallo allemaal,

ik ben weer eens tegen een probleem op gelopen....:o
ik ben eindelijk begonnen met mijn spel te maken (zeer veel werk) maar bij de registratie gaat het al mis...

als je je aanmeld bij sommige sites, dan moet je als laatst nog ff van een plaatje de letters en/of cijfers overtypen.
dit wil ik ook maken... maar er is een probleem bij dat wat ik wil maken, aan de naam van het plaatje kun je al zien wat je moet intypen.... en dat lijkt mij niet de bedoeling...
ik heb momenteel nog geen script omdat ik niet weet of het wel nut heeft, want ik kan ook een beveiliging maken, waarbij er bijgehouden word met IP addres er word geregistreerd. en dat je niet meer dan 1x per week (word het ip addres veranderd) registeren....

bedenkt alvast...

JB'tje

p.s. als iemand een andere goede oplossing heeft...
 
Laatst bewerkt:
Een andere goede oplossing ... Voor wat ? Je stelt geen vraag.

Over dat plaatje waarbij je enkele cijfers / letters moet overtypen, daar moet de bestandsnaam zeker niet gelijk zijn aan die code. Dit plaatje moet je genereren met de GD library en de code (die lettercijfercombinatie) die hij genereert moet je opslaan (in een database bijv.).
Dat IP registreren is geen oplossing, er zijn immers mensen die achter proxy's zitten en die geen vast IP hebben.
 
bedankt JPeetje...

die GD library lijkt mij ook een zeer geschrikt programmate ervoor.... maar ik heb tot nu toe nog geen gratis versie kunnen vinden.... weet iemand waar ik een gratis GD library kan vinden???

en met die "Een andere goede oplossing ... " bedoelde ik eigenlijk of iemand nog een andere oplossing weet om ervoor te zorgen dat men zich niet kan registreren met een progje, maar gewoon met de hand...

JB'tje
 
Geplaatst door JB'tje
die GD library lijkt mij ook een zeer geschrikt programmate ervoor.... maar ik heb tot nu toe nog geen gratis versie kunnen vinden.... weet iemand waar ik een gratis GD library kan vinden???
Voordat ik die vraag ga beantwoorden, heb je enig idee wat de GD Library is, wat je ermee kan en hoe je hem gebruikt ?
en met die "Een andere goede oplossing ... " bedoelde ik eigenlijk of iemand nog een andere oplossing weet om ervoor te zorgen dat men zich niet kan registreren met een progje, maar gewoon met de hand...
Niet dat ik zo snel kan verzinnen, dat codegenererend systeem is wel 't beste.

Succes :thumb:
 
Laatst bewerkt:
Voordat ik die vraag ga beantwoorden, heb je enig idee wat de GD Library is, wat je ermee kan en hoe je hem gebruikt ?
ik heb een beetje rond gekeken en een tutorial gevonden...
ik ben erachter gekomen dat je met GD library plaatjes kunt bewerken, maaken of ophalen
verder staat er op die tutorial ook hoe GD Library te gebruiken... ook staan de codes (als het goed is) op php.net :)

verder heb ik ergens op php freaks de code gevonden die ik nodig ga hebben...

JB'tje
 
Fijn dat je ff gezocht hebt ;)
GD Library is namelijk een uitbreiding van PHP, tegenwoordig komt hij er standaard bij. Enige wat je nodig hebt is een 'php_gd2.dll' (die bij het grote php downloadpakket op php.net komt). Verder moet je in php.ini zorgen dat hij deze extensie inlaad, door de ';' voor de extensie weg te halen.
Daarna kun je plaatje gaan maken, bewerken, etc :)

Succes :thumb:
 
lol ik blijk deze fille al een zeer lange tijd op mijn computter te hebben.... en ook al lang naar gezocht...
voor het spel KoC heeft men "recruiters" en daar heeft men weer programmatjes voor gemaakt om sneller te klikken.
bij ELK programmatje hebben ze een php_gd2.dll fille bij gedaan.... :D :D

en nu snap ik ook waarom de codes bij php.net staan....

nu alleen de php.ini aanpassen en dan ben ik klaar...
heeeeel erg bedankt JPeetje :D


nu ben ik bezig (met mijn spel) en ben net klaar met de database enzo... maar, nu heb ik deze tabel aangemaakt:
PHP:
CREATE TABLE armory (
userid varchar(20) NOT NULL,
attack_1 varchar(100) DEFAULT '1',
attack_2 varchar(100) DEFAULT '0',
attack_3 varchar(100) DEFAULT '0',
attack_4 varchar(100) DEFAULT '0',
attack_5 varchar(100) DEFAULT '0',
attack_6 varchar(100) DEFAULT '0',
attack_7 varchar(100) DEFAULT '0',
attack_8 varchar(100) DEFAULT '0',
attack_9 varchar(100) DEFAULT '0',
attack_10 varchar(100) DEFAULT '0',
defense_1 varchar(100) DEFAULT '0',
defense_2 varchar(100) DEFAULT '0',
defense_3 varchar(100) DEFAULT '0',
defense_4 varchar(100) DEFAULT '0',
defense_5 varchar(100) DEFAULT '0',
defense_6 varchar(100) DEFAULT '0',
defense_7 varchar(100) DEFAULT '0',
defense_8 varchar(100) DEFAULT '0',
defense_9 varchar(100) DEFAULT '0',
defense_10 varchar(100) DEFAULT '0',
villages varchar(100) DEFAULT '5',
farmer varchar(100) DEFAULT '1',
brouwer varchar(100) DEFAULT '1',
smit varchar(100) DEFAULT '0',
miner varchar(100) DEFAULT '0',
u_soldiers varchar(100) DEFAULT '1',
a_soldiers varchar(100) DEFAULT '0',
d_soldiers varchar(100) DEFAULT '0',
spies varchar(100) DEFAULT '0',
guard varchar(100) DEFAULT '0'
);

gewoon ingevoerd bij jou script/site (SQL admin) vervolgens zet ik informatie in de tabel, maar zodra ik de info wil bekijken, dan krijg ik in die SQL admin
"Home => Database 'battles of time' => Tabel 'armory'

niet af"

te zien..... hoe kan dat??? de query is namelijk wel goed uitgevoerd en het schrijfen naar de tabel ook....
misschien dat het iets te maken heeft met dat het 31 kolommen zijn??

JB'tje
 
Laatst bewerkt:
whaha :D

JP heeft geen goed werk afgeleverd :p

Maar je moet een kolom een primairy key geven (zeg ik 't goed ?). Bij alles dat ik maak is dat meteen de eerste kolom (eerste kolom is bij mij namelijk ook altijd userid met als extra auto_increment).

:thumb:
 
ik snap't....
normaal geef ik de eerste kolom altijd een primairy key omdat ik dat zo ooit een keer heb gebvonden... (en geef het ook een auto_increment zodat het mooi oploopt...) maar deze kolom moet alleen aan gemaakt worden als de persoonen zijn ingelogd....oftewel, ik probeer ruimte te besparen (minuscuuuuule ruimte)
jep masterprut, je hebt gelijk.....

heel erg bedankt...


ik heb nu de php.ini fille aangepast (was die al :D) en de .dll fille staat op de goede plek. Ook weet ik dat het werkt.
maar, nu heb ik deze code (gecopieerd van php.net)
PHP:
<?php

  // create a 100*30 image
  $im = imagecreate(100, 30);

  // white background and blue text
  $bg = imagecolorallocate($im, 50, 200, 50);
  $textcolor = imagecolorallocate($im, 0, 0, 255);
  
  // write the string at the top left
  imagestring($im, 5, 0, 0, "Hello world!", $textcolor);
  
  // output the image
  header("Content-type: image/jpg");
  imagejpeg($im);
?>
vervolgens zou ik een of ander plaatje moeten zien met Hello World! erop.
wat ik zie is dit:
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\webserver\apache\htdocs\php\plaatje.php:9) in c:\program files\webserver\apache\htdocs\php\plaatje.php on line 22
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀd"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?Àÿ„¯þ)·y¶Úóï»ý¼}Üçîó[w½¬í ÓídÛæŒV=Ç ¹€ÂçÜŠËþÁºÿ„7û̇íÞÉÙþ³w\g§µh3Ç-ø€$ÐÝ3I¶[©b Í÷Tá—§¡íïEj95iÍ)r¥R¥¬Ö±¼9ui$­ÌÒzï¯GòMQmú¿Ð¿«ßÜXI§˜|¢“Ý$RN¸ Œt=Z5ûû3G–òÛÊ/\¬ŠH ;Ž¿¥A¨éw2ÚipZ |Yͧ{²°`Ã}Ïõ>¿aq©èòÙÛyAå+–‘ˆ`sÓõ® Æqä¼oß_¼¹uy”BK‰6«0E,Ç rO°¢Öò ØŒ–ònUbŒ*U‡PAäcTï¬..g±¾‹Ê[»RO–ì|¶ 0Ãv3Ó¡ÇáNÓl%·º¼½¹dûEÛ)dŒ’ˆª0 2N:ž>•ÆèaVŸŸ÷®·æ·-­{rûÜ×µýÛ_R9cÉ{ëýW-^^Aaj÷72l…1¹°N2p8æ‰o †ê i$Ä×¼¥Áù¶Œž{qëUõ­=õMâÎ7TyÚÌ8È óùV,>º{ß2îæ ùòH"RÌ•v°ÏÊ õö®Œ/«‡u1¹$¹´µïî®Kiü×O]WmÊ„)¸ÞNÏ_øݾ¯cu:à û™÷yd£“iÃmb0Øö&¢ Ó ?é ˜œÉb 9ÇÉÈ?{V="öXôë[§·Ö²+ÄNùJp™axëÉöÅ\Òl%°ë´ž±€xëÅ]l>YN2’““[%%üÍoËÖ6v¶{&ãM-ÿ¯¸mÝýž»§Z/”`ºnÊÊUsÁÎ9ÈíÚ¬Üj6–³¬K¶FRø [jƒ‚Íò¯¹Àª·Ö7WÞ›y‡Éµß»sÇxÁÀÚzzóíÖƒaum«\ÞY´,·j¢Q19”`2à|ÃåN>¢£Ù`ç \Í'Èïf•åÏ+&ìíîYí­­» Ò¿oÆÿä?B¿—SÑ­ï'TY$Ý€ÃÜŸJ(Ь%Ó4k{9ÙH÷d¡$rÄ÷ÖŠâÌ}×*ûƒš\¶Ú×v·ÈŠ–ç|»\Ñ¢Š+Œ€¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(ÿÙ

daarna heb ik de fille op de tripod site gezet en krijg precies hetzelfde (op de foutmelding na dan...)http://members.lycos.nl/battlesoftime/plaatje.php

wat is er fout gegaan???

JB'tje
 
Laatst bewerkt:
Zet bovenaan eens

PHP:
header("Content-type: image/jpeg");
.
 
gedaan, maar geen verandering...

JB'tje
-----------------------------------------
het werkt nu....maar waarom nu wel???
ik heb nu de ***** die erboven stond (<head><title> enz.) weggegooid en ik zie nu opeens een plaatje....
maar waaron niet met die troep erboven????

JB'tje
 
Laatst bewerkt:
Probeer dit eens:

PHP:
<?

header("Content-type: image/jpeg");

// plaatje moaken
$plaatje = imagecreate(100,100);

// kleuren instellen
$achtergrond = imagecolorallocate($plaatje, 0, 0, 0);
$kleur = imagecolorallocate($plaatje, 255, 255, 255);

// tekst creeren
$tekst = imagestring($plaatje, 2, 10, 10, "Heuj ", $kleur);

// weergeven en verwijderen
imagejpeg($plaatje);
imagedestroy($plaatje);

?>

En dat in een leeg bestand zetten.
 
ja, daar was ik dus 10 sec eerder ook achter gekomen....

JB'tje
 
mja

Je moet iets als dat in een apart bestand zetten. Daarna met <img> aanroepen
 
ja, dat zal ik vanaf nu ook wel doen :)
heel erg bedankt....
(nu kan ik gaan proberen een text in een ander plaatje te krijgen :confused: )

nogmaals heel erg bedankt.

JB'tje
 
Dat is niet zo moeilijk, eerst gewoon een getal genereren, opslaan en weergeven in het plaatje als tekst :)
 
Dat is niet zo moeilijk, eerst gewoon een getal genereren, opslaan en weergeven in het plaatje als tekst :)
??? makkelijk.... ik begin net met plaatjes maken :p
ik snap de bedoeling, maar nu de code nog....
het plaatje dat ik hierbij heb gevoegd, die is de achtergrond en daar moet dus een getallen reeks opstaan....
welke code moet ik eigenlijk gebruiken om die "achtergrond.gif" to openen om te bewerken???

JB'tje
 
Laatst bewerkt:
Maak er eerst een jpg van. GD kan vanaf een bepaalde versie geen GIF meer aan. Iets met patent ofzo was het.

Daarna vervang je
PHP:
imagecreate(xx,xx);

met

PHP:
imagecreatefromjpeg("plaatje.jpg");

:thumb:
 
jeear, nu alweer gelukt.... (das snel vind ik)
ik heb het plaatje veranderd naar een .jpg plaatje en nu werkt het....
PHP:
<?php
header("Content-type: image/jpeg");
$maxlengte="7";
$lengte = "0";
$password = "";
do{$lengte = ($lengte+1);
$leter = rand(1,3);
if ($leter == 1){ $leter = chr(rand(48,57));
$password = $password.$leter;}
elseif($leter == 2){ $leter = chr(rand(65,90));
$password = $password.$leter;}
else{$leter = chr(rand(97,122));
$password = $password.$leter;}
}while($lengte<$maxlengte);
$im = imagecreatefromjpeg("De site\pictures\achtergrond.JPG");//@imagecreate(100, 40) or die("Cannot create an immage");
$background_color = imagecreatefromjpeg("De site\pictures\achtergrond.JPG");
$textcolor = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 5, 20, 11.5,  "$password", $textcolor);
imagepng($im);
imagedestroy($im);
?>

p.s. sorry JPeetje, dat ik jou password generator niet gebruikt heb... maar dat moet ik nog aanpassen...

JB'tje
 
Ik denk zelf niet dat het zo gaat werken :D.

Maar goed, opzich niet verkeerd :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan