checken of een string een uniqid is

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tijn Snijders

Tijn Snijders

08/06/2014 17:26:16
Quote Anchor link
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 ?
 
PHP hulp

PHP hulp

23/11/2024 19:23:03
 
Ozzie PHP

Ozzie PHP

08/06/2014 17:46:13
Quote Anchor link
Waar wil je het voor gebruiken?
 
Tijn Snijders

Tijn Snijders

08/06/2014 17:53:32
Quote Anchor link
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 ?
 
Ozzie PHP

Ozzie PHP

08/06/2014 17:57:37
Quote Anchor link
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.

Toevoeging op 08/06/2014 17:58:30:

De documentatie zegt ook:

Quote:
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.
 
Wouter J

Wouter J

08/06/2014 18:11:22
Quote Anchor link
>> 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.
 
Ozzie PHP

Ozzie PHP

08/06/2014 18:21:26
Quote Anchor link
>> 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.
 
Tijn Snijders

Tijn Snijders

08/06/2014 19:16:40
Quote Anchor link
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()..

Toevoeging op 08/06/2014 19:17:23:

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()..
 
Ozzie PHP

Ozzie PHP

08/06/2014 23:21:06
Quote Anchor link
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?
 
Tijn Snijders

Tijn Snijders

08/06/2014 23:38:23
Quote Anchor link
Ahhh.. kijk.. een uniqid is niet een standaard? Ja, dan wordt testen daarop idd onzin.



Toevoeging op 08/06/2014 23:39:00:

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

Ozzie PHP

08/06/2014 23:41:13
Quote Anchor link
>> 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...)
 
Tijn Snijders

Tijn Snijders

08/06/2014 23:42:55
Quote Anchor link
Geen idee hoe dat kan, dat dubbelposten, is in ieder geval niet de bedoeling (:

Een standaard als een uuid formaat
 
Ozzie PHP

Ozzie PHP

08/06/2014 23:46:06
Quote Anchor link
>> Geen idee hoe dat kan, dat dubbelposten, is in ieder geval niet de bedoeling (:

Waars. druk je dan 2x op verzenden. Dat gebeurt wel vaker omdat de site niet altijd even snel is ;)
Maar na de 1e x drukken moet je dus even geduld hebben :)

>> Een standaard als een uuid formaat

Nee, er komt gewoon een string van 13 (of 23) tekens uit.
 



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.