15. april 2003 - 13:53Der er
24 kommentarer og 1 løsning
Undgå tekst i adressebar
Hej
Jeg har en del knapper med forskellige værdier (alm. <a><img></a> knapper). Disse forskellige værdier skal så indsættes i en MyQSL sætning der henter alle de værdier der har de ønskede værdier..
Det jeg gerne vil er at undgå den ønskede værdi i adressebaren, men hvordan? Det hele forgår på idenx.php?id=1, så id=1 skal være der..
Jeg benytter pt. php, men har på fornemmelsen at jeg skal have fat i noget javascript..
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Man kan lave noget apache hejs - se evt. på www.mbn.dk - ellers er det ikke lige til at lave i PHP - en måde at omgå det på kan være at lave en meget lille top-frame som er konstant, meeeen så skal man jo bruge frames ;o(
avminarm >> :) så det først nu.. index.php mener jeg.. jammen dog. Jeg kan ikke finde noget umeldbart på www.mbn.dk, men jeg kan se din pointe.. Jeg kan ikke lide den løsning..
Javascript vil kunne løse dit problem (hvis jeg har forstået dig rigtigt).
Du tilføjer et <form method="post"> element, samt et hidden felt til den valgte værdi. Dit <a> element skal så kalde et javascript som ændrer værdien på det hidden felt, og laver submit af formen.
Når sidens opdateres kommer der en alert() box frem og spørg om man vil sende oplysningerne igen.. Kan denne alert() ikke undgås, dvs. at browseren trykker 'ok'?
Det er er potentiel sikkerhedsrisiko. min undskyldning er at mine sites er udviklet da man ikke havde andre muligheder, og at jeg ikke har haft tid til at konvertere dem .. endnu!
Den advarsel får man altid når man benytte POST i sine forms, og man så laver refresh af siden.
Nej, det er ikke ulovligt, men det gør at folk har en mulighed for at sende data i URL'en, som kan få dine php scripts til at opføre sig forkerte, fordi disse data automatisk bliver lavet om til php variable.
Det er langt pænere og mere sikkert at hente sine variable explicit, men det er ganske frivilligt hvilken metode man vælger. Medmindre man kører på en PHP server hvor register_globals er slået fra (det er den default på nye php installationer), så har man ikke så meget valg :-)
tja, jeg kan godt se det. skrives der i adressebaren ?id=1&item=123456789 bliver værdien 123456789. Men systemet kan jo tjelkke om 123456789 eksistere eller ej i mysql. Hvis den ikke eksistere vises en http404 side istedet.. tager jeg fejl eller?
ja, men du kan også bruge ?id=1&item=123456789&user=root
hvor variablen "user" vil blive overskrevet med "root", hvilket kan give underlige reaktioner hvis du benytter "user" til bruger-identificering eller lign.
kunne være en variabel du bruger til at logge dig på database, mailserver eller andet med. var kun ment som et eksempel på hvordan det potentielt kan misbruges..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.