Unieke code

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Aaron

Aaron

28/08/2009 15:46:00
Quote Anchor link
Hallo,

Voor een van mijn klanten maak ik een soort webshop. Bij de betaling moet er een mogelijkheid komen voor bankoverschrijving. Daarbij moet een unieke code worden vermeld.
Wie heeft een idee hoe ik met php zo'n code kan maken? Een hash is niet wat ik zoek.

Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Aaron
 
PHP hulp

PHP hulp

26/11/2024 01:35:57
 
- SanThe -

- SanThe -

28/08/2009 15:51:00
Quote Anchor link
Wat zoek je dan wel? Een hash moet toch voldoen lijkt mij.
 
Aaron

Aaron

28/08/2009 15:54:00
Quote Anchor link
ik weet even niet uit mijn hoofd uit hoevel characters een hash bestaat maar het is niet erg klantvriendelijk als een klant 20 letters moet gaan overtypen (ik heb een opdrachtgever...).

Gewoon een serie getallen.
 
Milo

Milo

28/08/2009 15:54:00
Quote Anchor link
kan je niet gewoon je id uit je database halen.... dus je zet alles in de database kijkt of het gelukt is, dan haal je de laatste er uit (met gelijke naam voor ckerheid) en je kan je code echoën

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$sql
= mysql_query("INSERT INTO tabel (....) VALUES (....)");
if(mysql_query($sql))
{

    echo 'fout';
}

else
{
    $sql2 = mysql_query("SELECT * FROM tabel ORDER BY id DESC");
}

?>


en dan kan je ook nog doen met WHERE naam = ..... om cker te weten dat het klopt...

weet niet of dit een perfect ide is hoor maar zou naar mijn idee moeten werken
 
Aaron

Aaron

28/08/2009 15:56:00
Quote Anchor link
Owja... dat is dom. Ik kan gewoon de ID gebruiken, die is immers uniek.

Bedankt!
 
Milo

Milo

28/08/2009 16:03:00
Quote Anchor link
Asje ;)
Wel zou ik checken of je wel de goede hebt, dus met een eventuele naam die verzonden is.
 
Willem vp

Willem vp

28/08/2009 19:32:00
Quote Anchor link
SanThe schreef op 28.08.2009 15:51:
Wat zoek je dan wel? Een hash moet toch voldoen lijkt mij.
Een hash is niet gegarandeerd uniek.
 
Matthias R

Matthias R

28/08/2009 19:42:00
Quote Anchor link
Wat is de defenitie van een hash?

btw. ik weet niet wat voor en project het is,
maar vind je het ok, dat users weten hoeveel gebruikers je hebt?
want als je de ID gebruikt, dan zien zij de hoeveelste ze zijn
Gewijzigd op 01/01/1970 01:00:00 door Matthias R
 
- Mark -

- Mark -

28/08/2009 19:52:00
Quote Anchor link
hoezo niet gewoon time() gebruiken? Dan heb je een unieke 10 cijferige code of heb ik dat fout?
 
Jan Koehoorn

Jan Koehoorn

28/08/2009 20:32:00
Quote Anchor link
@ Mark: time () geeft per seconde een unieke waarde. Als dus twee users in dezelfde seconde op het knopje klikken is de code niet uniek.
 

28/08/2009 20:49:00
Quote Anchor link
Mark schreef op 28.08.2009 19:52:
hoezo niet gewoon time() gebruiken? Dan heb je een unieke 10 cijferige code of heb ik dat fout?


Nee. In de database kan nooit dezelfde ID worden gemaakt ;-)
 

28/08/2009 20:55:00
Quote Anchor link
Chris Kortaan schreef op 28.08.2009 20:49:
Mark schreef op 28.08.2009 19:52:
hoezo niet gewoon time() gebruiken? Dan heb je een unieke 10 cijferige code of heb ik dat fout?


Nee. In de database kan nooit dezelfde ID worden gemaakt ;-)

Alleen vaak is het dus wel dat het een reeks is. Het is dan dus 1,2,3,4,5,6,7,8,9 enzovoort. Dat kan ook weer voor beveiligingslekken zorgen.
 
Stefan

Stefan

28/08/2009 21:13:00
Quote Anchor link
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
31
32
33
<?php
function RandomKey($length) {

    $GenKey = null;
    for($a=0;$a<$length;$a++) {

        $GenKey .= chr(rand(33, 126));

    }


    return $GenKey;

}

function
RandKeyCheck($key)
{

$query = "SELECT * FROM `TABEL` WHERE `KEY_COLUMN` = '$key'";
if(mysql_num_rows($query) == 0)
{

//update
} else {
return false;
}


$key = RandomKey();

if(RandKeyCheck($key) == false)
{

RandKeyCheck($key);
}
[
/code]

zo iets had ik zelf in gedachten. Moet je zelf mischien een beetje aanpassen.
Gewijzigd op 01/01/1970 01:00:00 door Stefan
 

28/08/2009 21:19:00
Quote Anchor link
Karl schreef op 28.08.2009 20:55:
Chris Kortaan schreef op 28.08.2009 20:49:
Mark schreef op 28.08.2009 19:52:
hoezo niet gewoon time() gebruiken? Dan heb je een unieke 10 cijferige code of heb ik dat fout?


Nee. In de database kan nooit dezelfde ID worden gemaakt ;-)

Alleen vaak is het dus wel dat het een reeks is. Het is dan dus 1,2,3,4,5,6,7,8,9 enzovoort. Dat kan ook weer voor beveiligingslekken zorgen.


Mwah, nee. Je zorgt ervoor dat je kijkt of de gebruikersID past bij dat andere ID.... Lijkt me logisch ;-)
 

28/08/2009 21:25:00
Quote Anchor link
Chris Kortaan schreef op 28.08.2009 21:19:
Karl schreef op 28.08.2009 20:55:
Chris Kortaan schreef op 28.08.2009 20:49:
Mark schreef op 28.08.2009 19:52:
hoezo niet gewoon time() gebruiken? Dan heb je een unieke 10 cijferige code of heb ik dat fout?


Nee. In de database kan nooit dezelfde ID worden gemaakt ;-)

Alleen vaak is het dus wel dat het een reeks is. Het is dan dus 1,2,3,4,5,6,7,8,9 enzovoort. Dat kan ook weer voor beveiligingslekken zorgen.


Mwah, nee. Je zorgt ervoor dat je kijkt of de gebruikersID past bij dat andere ID.... Lijkt me logisch ;-)

Nee, zo'n soort fout is er best wel vaak gemaakt. En ook niet op kleine dingen ofzo. Op grote belangrijke dingen ook (adres gegevens opvragen bijvoorbeeld).
 
Willem vp

Willem vp

28/08/2009 21:25:00
Quote Anchor link
Matthias schreef op 28.08.2009 19:42:
Wat is de definitie van een hash?

Een hash-functie is een routine die een (meestal) grote hoeveelheid data converteert naar een kleine hoeveelheid data, waarbij de vergelijking hash(x) = hash(y) idealiter alleen klopt wanneer x = y.
 
Jesper Diovo

Jesper Diovo

28/08/2009 21:39:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function cijfercode($lengte) {
    $aTekens = array_merge(range('a','z'), range('A','Z'), range(0,9));
    shuffle($aTekens);
    
    $aReturn = '';
    for($i=0;$i<=$lengte;$i++) {
        $aReturn .= $aTekens[$i];    
    }

    return $aReturn;
}

?>


Een ID kan iedereen zo terugvinden. Ik weet niet of dat wel zo veilig is? Hierboven staat mijn randomcode-code. Die werkt hartstikke goed, bestaat uit kleine en grote letters en cijfers.
 
Willem vp

Willem vp

28/08/2009 22:12:00
Quote Anchor link
Jezpur schreef op 28.08.2009 21:39:
Een ID kan iedereen zo terugvinden. Ik weet niet of dat wel zo veilig is?
Dat hangt ervan af of je kan programmeren ;-)

Als je security goed in elkaar zit, moet je alleen ID's kunnen opvragen waartoe je geautoriseerd bent.
 
Willem vp

Willem vp

01/09/2009 19:29:00
Quote Anchor link
@Jezpur:
Wat is de toegevoegde waarde van het for-loopje ten opzichte van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
return substr($aTekens,0,$lengte);
?
 



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.