Versio

Wie laadt pagina? PHP | User

Overzicht Reageren

K i p

K i p

28/11/2006 22:07:00
Quote Anchor link
Kun je zien of een php pagina wordt geladen door een ander script van jezelf, of door een user die in de adresbalk "connect.php" intypt?

Ik wil namelijk de user een berichtje geven als hij op connect.php zit. Of hem doorsturen naar de index pagina.

Kan dit bijvoorbeeld door met PHP een user-agent op te geven met welke PHP de ge-include-de pagina moet laden?

Even nog eens verduidelijken wat ik bedoel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $useragent
= 'php applicatie!!!!!!!!';
    include ('connect.php', $useragent); //klopt dus niet
?>


Kan dit?
 
PHP hulp

PHP hulp

25/05/2012 19:36:52
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Marien xD

Marien xD

28/11/2006 23:09:00
Quote Anchor link
nee!

maar het kan wel zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $useragent
= 'php';
    include ('connect.php'); //klopt dus niet
?>


file:connect.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
if($useragent != 'php')
{

    die();//of nette afhandeling ;)
}
?>
 
Robert Deiman

Robert Deiman

28/11/2006 23:31:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//haal de gegevens van de huidige pagina op (geeft de naam van de pagina waarin het script wordt geïnclude)
$getpagina=explode("/",$_SERVER['PHP_SELF']);
//bepaal aantal delen, mappen vanaf de root worden meegenomen, vandaar de explode
$aantal=count($getpagina);
// als de huidige pagina (connect.php) rechtstreeks is aangeroepen
if($getpagina[$aantal-1]=="connect.php"){
    echo 'U roept de connect.php pagina rechtstreeks aan';
    //forward hier
    }
else{
    // verbind hier
    }

?>


Edit:

bovenstaande is dan de connect.php
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Willem Jan Z

Willem Jan Z

28/11/2006 23:42:00
Quote Anchor link
Kan stukje korter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    if(basename($_SERVER['PHP_SELF']) == 'connect.php') {
       die('Rot op joh!');
    }
  
?>
 
Frank -

Frank -

29/11/2006 00:22:00
Quote Anchor link
Tip: Zet dit soort bestanden in een aparte directory, bv. include, en gooi deze directory met .htaccess dicht voor bezoekers. Een bezoeker heeft daar tenslotte niets te zoeken.
 
Jurgen assaasas

Jurgen assaasas

29/11/2006 10:38:00
Quote Anchor link
HTacces lijkt mij de beste oplossing
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
 
Martijn B

Martijn B

29/11/2006 10:43:00
Quote Anchor link
In dat ".htaccess" bestand zet ik altijd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
Order deny,allow
Deny from all


Wel altijd even controleren of Apache wel luistert naar .htaccess bestanden.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Lissy Pixel

Lissy Pixel

29/11/2006 11:35:00
Quote Anchor link
Altijd handig om te weten wat je er dan ook inzet :)
 
CrawlBackwards

CrawlBackwards

29/11/2006 14:22:00
Quote Anchor link
je kan ook gewoon zorgend at het geen nut heeft om die paginas apart in te laden..
zoals vitale variabelen gewoon in het hoofd bestand op te vragen als bijvoorbeel userinput..
of in het hoofd bestand een string te zetten en kijken of die overeenkomt..

(dit in gevallen als je het scritp voor anderen maakt.. en dus geen invloed hebt op de server)
 
K i p

K i p

29/11/2006 14:40:00
Quote Anchor link
Allemaal bedankt voor de tips :-)

Het is natuurlijk simpel om gewoon een var te maken en dan in connect.php op die var controleren.

Nog simpeler is inderdaad .htaccess.

Bedankt :-)!
 



Overzicht Reageren