login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ander vorm van include

Offline lau - 13/04/2006 01:41
Avatar van lauHTML interesse Ik heb eerlijk gezegd niet gezocht, want ik weet niet hoe de term of methode heet.
Je ziet soms ook deze vorm van url staan: www.site.nl/page.php?19
Hoe werkt dit en is dit veiliger dan ?page=19 methode?

14 antwoorden

Gesponsorde links
Offline DenMette - 13/04/2006 01:44
Avatar van DenMette PHP gevorderde Ik denk persoonlijk dat de eerste functie wel niet kan
Offline lau - 13/04/2006 01:45
Avatar van lau HTML interesse Oh jawel hoor v.b.: http://www.exas.nl/page.php?17
Offline vinTage - 13/04/2006 01:47
Avatar van vinTage Nieuw lid Dat word gedaan met htaccess en mod rewrite als ik het juist heb

(en is ook veiliger)
Offline MothZone - 13/04/2006 02:18
Avatar van MothZone PHP ver gevorderde Kan wél met php.
Moet ook met $_GET.

Je ziet altijd paginas zo:
pagina.php?page=64

Maar page hoeft niet altijd een waarde te hebben, dus het kan ook zo:
pagina.php?page

Als je dan isset($_GET['page']) doet, returnt hij true.
Dus als het met tekst kan, waarom dan niet met cijfers?

Heb er ff een héél kleine functie van gemaakt als je t wilt gebruiken:

  1. <?php
  2. function get_page()
  3. {
  4. $pagina = each($_GET);
  5. return $pagina[0];
  6. }
  7.  
  8. $pagina = get_page();
  9.  
  10. if(strlen($pagina) > 0)
  11. echo "De pagina is: ".$pagina;
  12. else
  13. echo "Geen pagina geselecteerd.";
  14. ?>


Hier neemt hij de eerste waarde, dus pagina.php?4 geeft 4, en pagina.php?4&6 geeft ook 4.
Ik zet get_page() in een variabele, omdat elke keer die functie aangeroepen word, hij naar de volgende GET-waarde gaat.

Het is wat omslachtig vind ik zelf, maar zo kan het o.a.

Je moet dan de waarde van $pagina zelf nog controleren enzo he, net zoals je bij $_GET['page'] nog moet doen voor je het meteen include.
Offline Thomas - 13/04/2006 09:39
Avatar van Thomas Moderator www.site.nl/page.php?19 lijkt mij geen geldige URL?

Je kunt dan beter zoiets gebruiken:
www.site.nl/page/19

htaccess & mod_rewrite
Offline lau - 13/04/2006 22:17
Avatar van lau HTML interesse Kan dit niet veroorzaakt worden door:
  1. if($_SERVER['QUERY_STRING'] == "1") {
  2. include 'download.php';
  3. }
Offline Rens - 13/04/2006 22:58
Avatar van Rens Gouden medaille

Crew algemeen
Jawel.
Alleen als er dan nog iets achter staat als &blaat=iets, word dat ook meegerekend als $_SERVER['QUERY_STRING'], dus klopt je check niet meer.
Voorbeeldje:
  1. if($_SERVER['QUERY_STRING'] == "1")
  2. {
  3. echo "blaat";
  4. }

Als je url dan de volgende is:
pagina.php?1&blaat=iets
Voldoet de if niet omdat $_SERVER['QUERY_STRING'] dan "1&blaat=iets" bevat.
Offline lau - 14/04/2006 00:08
Avatar van lau HTML interesse Jahmaar het gaat nu toch om de constructie page.php?1, hoe deze constructie werkt.
Is query_string veilig?
Offline Gerard - 14/04/2006 00:13
Avatar van Gerard Ouwe rakker definieer veilig
Offline Thomas - 14/04/2006 10:14 (laatste wijziging 14/04/2006 10:15)
Avatar van Thomas Moderator Is het zo erg om ?page=19 te gebruiken i.p.v. ?19:?:

Wat is er tegen het gebruik van ?page=19:?:

De querystring ($_GET) bestaat voor zover ik weet uit 0 of meer naam-waarde-paren, en niet enkel uit een naam, die een waarde is - dat is gewoon suf (en waarschijnlijk ook fout).

Nogmaals, als je wilt afwijken van de standaard, gebruik .htaccess (zoals hierboven staat beschreven).

Je zou .htaccess ook kunnen gebruiken om (op de achtergrond) ?19 te herschrijven naar ?page=19.

De vraag is wel of validators (en zoekmachine-robots?) dit ook slikken want die hebben enkel met "de buitenkant" (de variant "?19") te maken.

Tis jouw keuze, maar denk ook aan de consequenties van die keuze.
Offline ikkedikke - 14/04/2006 12:19
Avatar van ikkedikke PHP expert het is niks veiliger op die manier. je geeft alleen de naam van die variabele niet prijs. maar met een goede instelling van je server (register globals) maakt dat ook niet uit.
Offline lau - 14/04/2006 15:29
Avatar van lau HTML interesse Mwah... tis niet erg nodig, maar vond het wel leuk om te weten hoe dit werkt.
Ik denk dat ik toch maar mod_rewrite gebruik.
Offline Kevin - 14/04/2006 16:56
Avatar van Kevin Crew Ajax/REST e107 maakt ook gebruik van die string methode...

Ik vind hem wel leuker 
Zoals iemand als zei, je geeft inderdaad je var naam niet prijs.
Offline nemesiskoen - 14/04/2006 17:03
Avatar van nemesiskoen Gouden medaille

PHP expert
Hoe kan je dan ooit met een forum oid werken?

?forum
==> beginpagina forum

Hoe ga je dan die cats meegeven?
?cat3 ofzo? Want ?3 zou stom zijn want dan kan je geen topics gebruiken. Moet je weer een of andere stomme coding gebruiken om dit juist te kunnen inlezen, kan je al evengoed ?cat=3 doen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s