Hallo,
op een bepaalde pagina speel ik een film af. Dit doe ik met een mediaplayer object. De bezoeker heeft echter niet onbeperkt toegang tot deze film. Via een extern systeem wordt uit het htaccess file op mijn pagina het ip-adres van de bezoeker verwijdert op het moment dat deze geen recht op toegang meer heeft.
Ik controleer dit htaccess file met behulp van een functie die kijkt of het ip-adres van de bezoeker nog in dit bestand staan. Zo gauw deze functie false retourneert (en het ip-adres van de bezoeker dus niet gevonden wordt) mag de film niet meer te zien zijn en moet er dus een andere pagina worden geladen.
Ik dacht dit met onderstaande oplossing te kunnen doen, maar dit geeft niet het gewenste resultaat. Ik dacht namelijk dat met de onderstaande opzet eerst alle content die voor het controleproces komt eerst afgebeeld wordt, waarnaar de controlefunctie gewoon in zijn loop blijft draaien totdat de controlefunctie false retourneert. In plaats hiervan krijg ik echter ook de content (in dit geval de film) voor de controlefunctie niet te zien in de browser, maar blijft deze meteen al in de controlefunctie-loop zitten waardoor het laden van de pagina 'nooit stopt' en ik niks te zien krijg.
Hoe krijg ik het voor elkaar om toch de film te laten zien, maar wel tegelijkertijd de controle uit te voeren en zo gauw de controlefunctie false retourneert een andere pagina te laten zien?
Is mijn opzet met enige aanpassinge wel bruikbaar of moet ik een hele andere richting in denken?
op een bepaalde pagina speel ik een film af. Dit doe ik met een mediaplayer object. De bezoeker heeft echter niet onbeperkt toegang tot deze film. Via een extern systeem wordt uit het htaccess file op mijn pagina het ip-adres van de bezoeker verwijdert op het moment dat deze geen recht op toegang meer heeft.
Ik controleer dit htaccess file met behulp van een functie die kijkt of het ip-adres van de bezoeker nog in dit bestand staan. Zo gauw deze functie false retourneert (en het ip-adres van de bezoeker dus niet gevonden wordt) mag de film niet meer te zien zijn en moet er dus een andere pagina worden geladen.
Ik dacht dit met onderstaande oplossing te kunnen doen, maar dit geeft niet het gewenste resultaat. Ik dacht namelijk dat met de onderstaande opzet eerst alle content die voor het controleproces komt eerst afgebeeld wordt, waarnaar de controlefunctie gewoon in zijn loop blijft draaien totdat de controlefunctie false retourneert. In plaats hiervan krijg ik echter ook de content (in dit geval de film) voor de controlefunctie niet te zien in de browser, maar blijft deze meteen al in de controlefunctie-loop zitten waardoor het laden van de pagina 'nooit stopt' en ik niks te zien krijg.
Hoe krijg ik het voor elkaar om toch de film te laten zien, maar wel tegelijkertijd de controle uit te voeren en zo gauw de controlefunctie false retourneert een andere pagina te laten zien?
Is mijn opzet met enige aanpassinge wel bruikbaar of moet ik een hele andere richting in denken?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| <body> <? $REMOTE_ADDR=$_SERVER[REMOTE_ADDR]; $htaccess_file = '.htaccess'; // .htaccess file // functie voor het controleren of ip nog toegang heeft function IPCheck($ip) { global $htaccess_file; if($htaccess_file=='') return true; $ip_allowed= strtolower(join(' ',file($htaccess_file))); $ip_okay = strpos($ip_allowed, "allow from $ip") ? 1:0; return $ip_okay; } //kijken of ip uberhaupt toegang heeft $okay =IPCheck($REMOTE_ADDR); ?> Hieronder dus een mediaplayer object dat de film afspeelt wat ik graag wil laten zien terwijl ik daarnaast wil controleren of IPCheck nog steeds true retourneert. <object id="MediaPlayer" hier nog meer attributen> hier parameters <embed hier parameters </embed> </object> <? while($okay) { if($htaccess_file && (time()!=$last_time)) { //Elke seconde controleren $last_time=time(); $okay=IPCheck($REMOTE_ADDR); } if($okay === false) { header("location: http://www.mijnpagina.nl/test.htm"); } } ?> </body> |