• Beste,


    Ik ben met een site bezig wat ik klaar heb op 1 ding na.


    En dat is als je de site url hebt zoals: http://www.sitehier.nl is er verder niks aan de hand, ook niet als ik de ander pagina's open blijft die gewoon op http://www.sitehier.nl staan. Er komt geen /contact.php achter bijvoorbeeld.


    Maar wat nu het probleem is als ik zelf contact.php er achter zet gaat die naar blanko pagina met inhoud van de stukje script.
    Mijn bedoeling was dat die terug gaat naar de site zelf.


    Heb op google ook al beetje gekeken maar weet niet hoe je zoiets noemt.


    Bedankt alvast.

    Mvg Christoffer



    Bezig met me 3 sites.
    Zit meer tijd in dan ik had gedacht.
    ;):cheer:(c)(c)

  • Goedemorgen
    Sorry ik kan sommige dingen moeilijk uitleggen.


    Ik zal nog eens proberen hahah.


    De site url boven in de balk is dit:
    http://www.****.nl/test/
    En die blijft ook zo ook al klik ik op contact enzz


    Maar als ik nu zelf contact.php achter de url schrijf dus zo
    http://www.****.nl/test/contact.php
    Dan blijft die niet op de site maar opent die een witte pagina met inhoud van stukje wat in contact script staat.



    Zoals hieronder.

  • Het probleem is waarschijnlijk dat includes (bestanden die eigenlijk alleen bedoeld zijn om ergens anders ingevoegd te worden) rechstreeks aangeroepen kunnen worden en vervolgens ook worden uitgevoerd.


    Deze opzet is eigenlijk verre van ideaal. Als je vaker sites maakt dan zou je hier al eerder tegenaan gelopen moeten zijn en hier ook al oplossingen voor verzonnen moeten hebben?


    De eenvoudigste manier om te voorkomen dat dit soort lappen code uitgevoerd worden is een conditioneel die-statement bovenin alle includes zetten. Je controleert dan op het bestaan van een constante; indien deze niet bestaat beeindig je het script.


    De constante zelf definieer je in het bestand vanwaar je deze includes invoegt. Dit is volgens mij al een hele lange tijd een simpele methode voor het afschermen van (het rechtstreeks aanroepen van) bestanden...


    Ik zou ook niet proberen om gebruikers nog de goede kant op te sturen met allerlei statische / hardcoded links omdat ze al van het (navigatie)pad af zijn, daarnaast zijn statische links inflexibel (mocht je de URL waaronder een pagina bereikbaar is veranderen zou je ook elke keer deze code moeten aanpassen) en daarmee nogal foutgevoelig.


    Er zijn natuurlijk ook andere oplossingen denkbaar waarbij je er bijvoorbeeld voor zorgt dat je includes directory buiten je webdir valt... Het verbaast (en verontrust) mij een beetje dat je hier ogenschijnlijk pas op het einde van de bouw van een site tegenaan loopt. Enerzijds omdat dit al afgevangen had moeten zijn (maar de realisatie was er niet?) en anderzijds omdat dit eigenlijk het eerste is wat je op orde moet hebben (de organisatie van je bestanden), nog eigenlijk voordat je begint. Een vaste werkwijze bij het bouwen van sites helpt ook...

  • - PHP header (doorverbind)
    Probeer is header_remove() toe te voegen in code


    - .htaccess
    zie vorige reacties base href en base rewrite


    - javascript header
    probeer de functie onbeforeunload te gebruiken om zo te kijken of t JS is


    (stapsgewijs en je komt er wel)

  • Ik zou dus (nogmaals) geen constructies aanleggen die met man en macht proberen recht te buigen wat krom is, je kunt veel beter hier in eerste instantie van wegsturen in plaats van dit na afloop trachten te repareren.


    Hierdoor wordt je code nodeloos wolliger, wat weer zijn effect heeft op de leesbaarheid en onderhoudbaarheid.


    Ook moet je niet bang zijn om dingen gewoon kapot te laten gaan in plaats van dat je buitensporig veel moeite moet doen om te doen alsof alles goed gaat, daarmee schuif je toch dingen onder het tapijt... Besteed deze tijd aan het uitdenken van simpelere en elegantere oplossingen in plaats van deze lijn van slecht ontwerp door te trekken.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!