[php]Gaat deze functie werken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

27/07/2004 15:11:00
Quote Anchor link
Hallo mensen,

ik ben hier nieuw, maar ik heb een vraagje. IK heb gister een mini functie die een random password van 32 tekens produceerd.. Wanneer deze key is gemaakt, checkt een andere functie, die om de fucntie die een random pass aanmaakt heen staat, of de gemaakte pass al niet in de db staat. Maar ik ben niet zeker of deze functie wel gaat werken... En ik heb ook geen idee hoe ik het kan gaan testen.

Kan iemand mij vertellen of deze geneste functie gaat werken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
function controlleer()
{
    function
random()
    {

    srand ((double) microtime() * 1000000);
    $random = rand(0,9999);
    $random .=md5(time());
    $random = md5($random);
    $random .=time();
    return $random;
    }

    $rand = random();
    $s_query = "SELECT key FROM verzonden WHERE key = '$rand'";
    $result = mysql_query($s_query) or die("Error: " . mysql_error());
    if (mysql_num_rows($result) == 0)
    {

        //insert key in db
    }
    else
    {
        controlleer();
    }
}


?>
 
PHP hulp

PHP hulp

27/11/2024 05:52:09
 
Mitch X

Mitch X

27/07/2004 16:46:00
Quote Anchor link
Pff probeer het gewo0n :)
Van je (eventuele) fouten kun je dan weer leren
 
Kees

Kees

27/07/2004 16:51:00
Quote Anchor link
En, hoe wou je dat gaan testen? :)

Kan moeilijk 1000 codes inserten in db en dan kijken welke gelijk zijn :P
 
Rick

Rick

27/07/2004 17:09:00
Quote Anchor link
waarom niet?
for($i=0;$i<1000;$i++){
controlleer();
}

enne waarom een functie in een functie?
ik zou dat geval niet als aparte functie doen maar gewoon als onderdeel van de grote functie
of iig buiten de grote functie zetten
 
Kees

Kees

27/07/2004 18:00:00
Quote Anchor link
Ja, daar zat ik ook al aan te denken.

En over die functie: Dat heb ik zo gedaan omdat ik random() later weer ergens anders voor nodig heb!
 
Rick

Rick

27/07/2004 18:21:00
Quote Anchor link
dat kan, maar zet hem dan iig buiten die andere functie ;)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
function controlleer()
{

    $rand = random();
    $s_query = "SELECT key FROM verzonden WHERE key = '$rand'";
    $result = mysql_query($s_query) or die("Error: " . mysql_error());
    if (mysql_num_rows($result) == 0)
    {

        $result = mysql_query('INSERT INTO verzonden (key) VALUES ('.$rand.')') or die("Error: " . mysql_error());
    }

    else
    {
        controlleer();
    }
}

function
random()
    {

    srand ((double) microtime() * 1000000);
    $random = rand(0,9999);
    $random .=md5(time());
    $random = md5($random);
    $random .=time();
    return $random;
}


for($i=0;$i<1000;$i++){
   controlleer();
}

?>
 
Kees

Kees

27/07/2004 20:09:00
Quote Anchor link
Ik zal het doen... Maar wat is het voordeel ervan?
 
Rick

Rick

27/07/2004 20:31:00
Quote Anchor link
functie in een functie mag volgens mij niet eens (ik kan het mis hebben want php laat wel meer vreemde dingen toe)

maar ik vraag me af wat het voordeel ervan zou zijn?
functies zijn er juist om dingen apart te houden
dan moet je de functies dus niet in elkaar gaan stoppen :P
 
Mitch X

Mitch X

27/07/2004 21:24:00
Quote Anchor link
Ook al zou het mogen, alles in een functie is - behalve wanneer dit anders is aangegeven door de scripter, jij dus - private data, maw is alleen toegankelijk door de functie waar het instaat. Als je hem meerdere malen nodig hebt, heb je er dus niets aan ...
 
Ano Niem

Ano Niem

27/07/2004 21:25:00
Quote Anchor link
Hoe groot denk je dat de kans is dat een wachtwoord 2 x voorkomt? Je gebruikt immers time en das elke seconde anders :)
 
Rick

Rick

27/07/2004 22:08:00
Quote Anchor link
met md5 kunnen meerdere waardes dezelfde hash hebben, dus het is zeker mogelijk :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.