[PHP] urlencode geeft geen codering

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Volgende probleem ik heb een link met daarin een id. De id is een variabele ,maar die wil ik met urlencode coderen zodat gebruikers niet gaan raden na de id' s op de volgende pagina.
Nu heb ik natuurlijk onderzoek gedaan naar deze optie. Dus ik dacht simpel niet dus. Hij geeft geen foutmeldingen. Hij toont netjes de link met de var id.
Hij codeert alleen de variabele niet. Ik heb al veel verschillende dingen uitgeprobeerd addslashes en rawurlencode, maar niks doet het.
Ik maak een basisfout alleen ik zie het niet. :X

code:
1
<td><a href="details.php?id=<?=urlencode($row->id)?>"><?=urlencode($row->id)?></a></td>)

Acties:
  • 0 Henk 'm!

Verwijderd

urlencoden is alleen het vervangen van gevaarlijke karakters door veilige karakters voor een URL (bijvoorbeeld het vervangen van spaties door `+').

Je wil waarschijnlijk iets gebruiken als uuencoding of base64 encoding.

Al weet ik niet of het de beste oplossing voor je probleem is...

Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 11:30

Guldan

Thee-Nerd

Je zou hem md5 kunnen encoden en bijv. in de database 1 veld hebben met ed md5 waarde van de id en deze dan vergelijken. Een md5 code gok je niet zomaar. Het enige nadeel is wel dat je hem dus niet kunt terugzetten.

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jaah hij doet het. :P Ik heb haast al die opties uitgetest op de php.net url pagina behalve de base64. 8)7

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Base64 is geen codering encryptie. Iedereen die wel eens iets gedaan heeft met devven kan dat binnen twee seconden herkennen teruglezen.

[ Voor 11% gewijzigd door Skaah op 13-01-2005 16:07 ]


Acties:
  • 0 Henk 'm!

  • Flying_Thunder
  • Registratie: December 2001
  • Niet online
En wat als ik dan base64_decode op jouw hash in je URL doe? :P Als ik goed gelezen heb, heb ik dan gewoon jouw "id" te pakken en kan ik zelf natuurlijk een nieuwe encoden en die in de URL zetten.

Je zou MD5 kunnen gebruiken, dat is nl. niet te decrypten (want is een hash), maar als ik een vermoeden heb dat er in die hash alleen een getal staat kan ik zelf ook zulke hashes maken met MD5() :)

Wat je imho moet doen is ervoor zorgen dat
1) string niet te decoderen is
2) string niet te reproduceren is.
MD5 met wat "seed" er in bijvoorbeeld ;)

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Waarom al die moeite, wat maakt het nou uit of mensen zelf een id invullen. Als dat leidt tot content die ze niet mogen zien dat moet je de IMO op de pagina zelf afvangen en niet met een "geheim url" proberen op te lossen.

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 11:30

Guldan

Thee-Nerd

e.v.t zou je het verkeerde id invullen ook kunnen afvangen met een sessie waarin ook de ID in staat. Dan kun je altijd controleren of de id's kloppen en zoja een edit pagina geven en anders gewoon een melding geven.

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

  • Flying_Thunder
  • Registratie: December 2001
  • Niet online
T-MOB schreef op donderdag 13 januari 2005 @ 16:41:
Waarom al die moeite, wat maakt het nou uit of mensen zelf een id invullen. Als dat leidt tot content die ze niet mogen zien dat moet je de IMO op de pagina zelf afvangen en niet met een "geheim url" proberen op te lossen.
Vind ik ook wel, maar als TS het op deze wijze wil doen (welke reden hij hier dan ook voor moge hebben) heb ik tenminste geprobeerd uit te leggen hoe dat dan iets "veiliger" kan :)

Acties:
  • 0 Henk 'm!

  • erkje
  • Registratie: Oktober 2001
  • Laatst online: 12-06-2024
Ik zou het ook zoals T-MOB doen. Jij hebt wel je best gedaan FlyingThunder, maar je kan ook een nóg veiliger alternatief aanbieden.
Ik ben het wel met je eens dat de keus van de TS soeverein is, maar volgens mij is de T-MOB methode makkelijker

taste and see that the Lord is good


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor tips. Ik ben vrij onbekend op dit gebied. Ik zal morgen eens kijken of ik de pagina zelf kan beveiligen. Anders ga ik het met een md5 codering werken.
De base64 code is wel erg makkelijk te kraken.
Pagina: 1