checken of een string een uniqid is
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 ?
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 ?
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.
Toevoeging op 08/06/2014 17:58:30:
De documentatie zegt ook:
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.
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 :)
>> 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.
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()..
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()..
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()..
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.
Toevoeging op 08/06/2014 23:39:00:
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.
>> 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...)
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
Een standaard als een uuid formaat
>> 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.
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.




