[php] cache met sessies?

Pagina: 1
Acties:

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Na het verslag van ACM gelezen te hebben is me 1 ding duidelijk geworden, waar ik nog geen rekening mee heb gehouden. Namelijk de cache van bepaalde proxyservers en compu's. Nu vroeg ik me af, hoe hier dit te implementeren in een script. Ik hoef geen compleet script, maar zou graag ideetjes horen hoe dit op te lossen. Ik heb hier zelf namelijk geen enkel benul van. De search hier leverde ook niet echt veel nuttigs op. Ik vroeg me bijv af of er bepaalde functies zijn om een cache leeg te maken of om helemaal opnieuw de site te laden en waar doe ik dit. Op de server zelf of?? Iemand suggesties, ideetjes?

Ik had ook nog een probleempje met de $_REFERER var. Op mijn lokale server deed hij het goed, alleen op het web niet. Op de server gebruik ik php 4.1.0. ik had er iets staan in de trend van.
PHP:
1
<?if ($_SERVER['$_REFERER']=='referer adres inc http://') {    echo 'juiste referer';} else {    echo 'foute referer';}?>

Wat kan hier nu fout aan zijn. Of is de referer toevallig geen server var?? Op mijn lokale pc deed hij het namelijk wel, daar had ik php 4.0 draaien en daar gebruikte ik de globale variabelen met HTTP_iets_VARS .. ik heb ze dus wel aangepast aan php 4.1.0.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op dinsdag 21 mei 2002 13:49 schreef RSD het volgende:
Na het verslag van ACM gelezen te hebben is me 1 ding duidelijk geworden, waar ik nog geen rekening mee heb gehouden. Namelijk de cache van bepaalde proxyservers en compu's. Nu vroeg ik me af, hoe hier dit te implementeren in een script. Ik hoef geen compleet script, maar zou graag ideetjes horen hoe dit op te lossen. Ik heb hier zelf namelijk geen enkel benul van. De search hier leverde ook niet echt veel nuttigs op. Ik vroeg me bijv af of er bepaalde functies zijn om een cache leeg te maken of om helemaal opnieuw de site te laden en waar doe ik dit. Op de server zelf of?? Iemand suggesties, ideetjes?
100% zeker dat een proxy server jouw pagina's niet cachet, kan je nooit zijn.

Maar deze functie werkt wel oke...
PHP:
1
<?function nocache(){    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");    header("Cache-Control: no-cache, must-revalidate");    header("Pragma: no-cache");}?>
Ik had ook nog een probleempje met de $_REFERER var. Op mijn lokale server deed hij het goed, alleen op het web niet. Op de server gebruik ik php 4.1.0. ik had er iets staan in de trend van.
PHP:
1
<?if ($_SERVER['$_REFERER']=='referer adres inc http://') {    echo 'juiste referer';} else {    echo 'foute referer';}?>

Wat kan hier nu fout aan zijn. Of is de referer toevallig geen server var?? Op mijn lokale pc deed hij het namelijk wel, daar had ik php 4.0 draaien en daar gebruikte ik de globale variabelen met HTTP_iets_VARS .. ik heb ze dus wel aangepast aan php 4.1.0.
Is het geen HTTP_REFERER ?

Doe anders eens een print_r van $_SERVER.

Programmer - an organism that turns coffee into software.


  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
thnx, ik zal het vanavnd even proberen :) Maar van die referer, nee ik geloof dat die http ervoor weg moet, maar zal dat vanavond ff checken, weet het niet zeker.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
thnx, ik zal het vanavnd even proberen :) Maar van die referer, nee ik geloof dat die http ervoor weg moet, maar zal dat vanavond ff checken, weet het niet zeker.
Nee smart-ass :o ;)

Het is óf

$_SERVER['HTTP_REFERER']

óf

$HTTP_SERVER_VARS['HTTP_REFERER']

óf

$HTTP_REFERER

Waarbij oplossing 1 de voorkeur geniet (vanaf versie 4.1.0), of anders oplossing 2 (voor oudere versies). Oplossing 3 hoor je niet te gebruiken! Dat is slecht :r

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Mijn dank is groot Wiseguy 8-) Maar ik zei ook dat ik het niet zeker wist.. Maar nog iemand wat over die 'cache'?? Andere ideetjes!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 21 mei 2002 19:02 schreef RSD het volgende:
Maar nog iemand wat over die 'cache'?? Andere ideetjes!
* ACM helemaal trots dat je mijn verslag gelezen hebt :)

Magoed, veel is er niet aan te doen behalve die oplossingen van LucarD en/of SSL gebruiken.

SSL zal nog minder vaak gecached worden (maar is wel wat slomer enzo, omdat alles encrypted moet worden).

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Maar die cache functie gewoon aanroepen in index.php als eerste en dan moet het goed gaan, of op elke pagina..?? En kun je erna wel weer andere headers sturen? Snap dat header gedoe namelijk nooit zo.. heb er al wel het een en ander over gelezen, maar het is allemaal browser afhankelijk.. want voor I-mode heb je weer andere headers..

oja, ik heb die _REFERER verandert naar HTTP_REFERER, maar weinig succes, geeft nog steeds dat ik niet gemachtigd ben om de pagina te zien

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je kan in principe headers blijven sturen tot je gewone html(of text, of...) output opstuurt.

Overlapping van headers 'kan' maar is niet raadzaam natuurlijk :)

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Weet iemand misschien hoe ik kan checken dat
PHP:
1
<?$_SERVER['HTTP_REFERER']=="http://www.startspot.nl/hier mag alles staan"?>

en op de plaats 'hier mag alles staan, mag ook alles staan.
Of is er een betere manier?

Heel raar, als ik die $_SERVER['HTTP_REFERER'] gewoon echo, dan zit er nix in, ook niet als ik print_r doe :?

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
in mijn phpinfo(); zie ik nergens HTTP_REFERER staan bij mn server vars, betekent dit dan, dat hij hier niet gebruikt kan worden?

rare servers allemaal en daar betaal je dan zoveel per maand voor :( en mn telnet is ook al geblokeerd :(

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
in mijn phpinfo(); zie ik nergens HTTP_REFERER staan bij mn server vars, betekent dit dan, dat hij hier niet gebruikt kan worden?

rare servers allemaal en daar betaal je dan zoveel per maand voor :( en mn telnet is ook al geblokeerd :(
Die var is ook niet beschikbaar tenzij je er naar linkt hè O+ O+ O+ O+

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
ik snap niet wat je helemaal bedoelt :? Maar ik heb een pagina met 2 links.. eentje om je aan te melden en de ander om je in te loggen. Als ik nu op 1 van die links klik, kom ik op een andere pagina, hier begint hij met checken.. dus if (http_referer=="url van de vorige pagina") {blabla}

wat doe ik fout dan?? ik zie het echt niet of ik moet iets grandioos over het hoofd zien

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
ik snap niet wat je helemaal bedoelt :? Maar ik heb een pagina met 2 links.. eentje om je aan te melden en de ander om je in te loggen. Als ik nu op 1 van die links klik, kom ik op een andere pagina, hier begint hij met checken.. dus if (http_referer=="url van de vorige pagina") {blabla}

wat doe ik fout dan??
Staat het letterlijk zo: ?
code:
1
2
3
4
5
6
7
8
if(isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == "dewaarde")
{
  //ja
}
else
{
  //nee
}

:?

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
nope, het staat er zo:
[php]
<?
if ($_SERVER['HTTP_REFERER']=="waarde" or $_SERVER['HTTP_REFERER']=="andere waarde" or $_SERVER['HTTP_REFERER']=="nog een andere waarde") {
echo "ja";
} else {
echo "nee";
}

wat is het verschil???

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
En je hebt versie 4.1.0 van php of hoger :?

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
jups/...

Build Date Mar 23 2002

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Dan moet het gewoon werken.
Punt.

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
maar toch werkt het niet |:

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
En heb je al eens gekeken wat het returnt ?
Een begrip daarvoor is "debuggen".

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
jep, ik heb $_SERVER['HTTP_REFERER'] ge-echoed.. en hij gaf nix aan.. en in mn phpinfo(); staat die variabele ook niet, terwijl andere er wel tussen staan zoals $_SERVER['blabla'] .. ik vind het ook vaag

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
en $HTTP_REFERER, wat returnt die :?

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
ook nix...:?

ennuh
PHP:
1
<?header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");?>

die, wat doet die line... Jul 1997, makat dat nog wat uit.. deze functie wordt boven elke pagina aangeroepen... kan dat??

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Laat me raden. Je hebt Norton Firewall :?
Die houdt dat namelijk tegen.

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
jeps... dat klopt... hahaha, meen je dat.. maar die heb ik op mn pc draaien, de site draait op linux server.. ben nu dus live aan het testen.. dus ik kan dat zooitje beter weglaten, want anders kunnen mensen die norton hebben(veel) er niet op komen???

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Ok. Probleem opgelost.
Zet je firewall maar uit of op minder streng, want die verbergt de referer dus.

Bij deze.

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Maar hoe valt het dan te verklaren dat als ik het lokaal teste, hij het wel deed???

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
Maar hoe valt het dan te verklaren dat als ik het lokaal teste, hij het wel deed???
Dat je firewall alleen op extern verkeer werkt >:)

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
en ja hoor opeens doet hij het.. thnx :) , maar om de norton users tegemoed te komen, hoe kan dat...? door te checken of de referer leeg is??

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
en ja hoor opeens doet hij het.. thnx :) , maar om de norton users tegemoed te komen, hoe kan dat...? door te checken of de referer leeg is??
Dat schiet ook niet echt op hè :D

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
nope, maar ik heb zo'n idee dat dat login script zo lek als een zeef is

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
nope, maar ik heb zo'n idee dat dat login script zo lek als een zeef is
Begin opnieuw. :Y)

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
ja maar ik heb alles zo'n beetje wat ik hier op GoT kan vinden er wel zo'n beetje inzitten nu :| of zi eik dingen over het hoofd /... slurppp

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
RSD:
ja maar ik heb alles zo'n beetje wat ik hier op GoT kan vinden er wel zo'n beetje inzitten nu :| of zi eik dingen over het hoofd /... slurppp
Ik deed 3 weken over mn inlogscript >:)

Misschien moet je eerst bedenken wat je wilt en dan pas iets proggen (jatten in jouw geval).

Wel lekker nuttig trouwens, snap je zelf wel wat je code doet :?

En dan tenslotte nog even over dat Norton troepding. Wat mij betreft ondersteun je het gewoon helemaal niet. Als jij superveilige login wilt, moet je die referer maar opvangen en hebben norton mensen maar pech. Persoonlijk vind ik dit in het geval van inloggen overbodig, bijvoorbeeld bij berichten posten op een forum is het belangrijker, omdat dat meer nut heeft te misbruiken (via andere fora posten). Natuurlijk vang je een deel ook al af met $_GET. :)
Pagina: 1