ik zoek me rot naar een soort van isValid(), maar ik kan niks vinden.

Hoe check ik of een door uniqid() gemaakt id, een 'uniqid' is ?
Waar wil je het voor gebruiken?
zit zomaar een beetje te testen.. Heb een klein testje opgezet, waarbij ik producten een uniqID() aan geef, die ik later mee geef in het url om vervolgens te kijken of ik een valid id binnen krijg.. puur om te testen..

maar hieruit begrijp ik dus dat zoiets niet bestaat ?

Nou... daarom vroeg ik al waar je mee bezig was...

Normaal gesproken plaats je producten in een database. Daarbij maak je gebruik van autoincrement. De producten worden dan automatisch doorgenummerd, en dat nummer kun je dan ook gebruiken als unique identifier.

[size=xsmall]Toevoeging op 08/06/2014 17:58:30:[/size]

De documentatie zegt ook:


Warning
This function does not create random nor unpredictable strings. This function must not be used for security purposes. Use a cryptographically secure random function/generator and cryptographically secure hash functions to create unpredictable secure IDs.
>> De documentatie zegt ook:

Heeft niks te maken met deze vraag, het betreft hier namelijk geen veiligheid :)

>> maar hieruit begrijp ik dus dat zoiets niet bestaat ?

Inderdaad, een uniqid betekend een unieke ID. Als iets uniek is kun je het nooit terug vinden. Wat je wel weet is dat het een getal moet zijn, dus je kunt kijken of er geen andere characters dan nummers in zitten. Maar de beste methode is gewoon het id gebruiken, gezamelijk met een msyql_real_escape_string call en gewoon het product uit de database halen. Krijg je iets? Dan was ie valid. Krijg je niks, dan was ie invalid.
>> Heeft niks te maken met deze vraag, het betreft hier namelijk geen veiligheid :)

Meer in de zin van of de id's dubbel kunnen voorkomen eigenlijk...

Maar dan is het antwoord dus dat ie gewoon altijd valid is, omdat je niet 2x dezelfde id kunt genereren.
Buiten dat ik weet dat je idd een record in een tabel incremented een nummertje kan geven, gaat het me puur om de test.

Ik was gewoon op zoek naar een isValid(), die bestaat kennelijk niet.

Ik kom van een CFML achtergrond, daar kan je bv isValid("uuid", variable); doen, daar krijg je dan een true of false uit..

En ja, ik haal hier uniqid en een uuid door elkaar en ja, deze zijn wezelijk verschillend. Maar het ging me uiteindelijk om de isValid()..

[size=xsmall]Toevoeging op 08/06/2014 19:17:23:[/size]

Buiten dat ik weet dat je idd een record in een tabel incremented een nummertje kan geven, gaat het me puur om de test.

Ik was gewoon op zoek naar een isValid(), die bestaat kennelijk niet.

Ik kom van een CFML achtergrond, daar kan je bv isValid("uuid", variable); doen, daar krijg je dan een true of false uit..

En ja, ik haal hier uniqid en een uuid door elkaar en ja, deze zijn wezelijk verschillend. Maar het ging me uiteindelijk om de isValid()..
Maar wat versta je dan onder isValid? Wanneer is volgens jou een uniqid valid? Die functie genereert een of andere unieke id. Wat kan daar dan niet valid aan zijn?
Ahhh.. kijk.. een uniqid is niet een standaard? Ja, dan wordt testen daarop idd onzin.



[size=xsmall]Toevoeging op 08/06/2014 23:39:00:[/size]

Ahhh.. kijk.. een uniqid is niet een standaard? Ja, dan wordt testen daarop idd onzin.

>> Ahhh.. kijk.. een uniqid is niet een standaard?

Wat versta je onder "een standaard"?

(Heb even geduld als je een bericht post... je post namelijk al 2x dubbel...)
Geen idee hoe dat kan, dat dubbelposten, is in ieder geval niet de bedoeling (:

Een standaard als een uuid formaat

Reageren