ip loggen
Code (php)
Maar nu wil ik dat telkens voordat hij weer een nieuw ip-adres erbij schrijft, dat het ip.txt bestandje geleegd wordt (zodat er telkens dus maar 1 ip in ip.txt staat. Welke functie moet ik dan toevoegen?
waarom doe je dit niet met mysql dat is veel eenvoudiger
ik loop achter...
Dus dit kun je in je code plaatsen...
Maar waarom doe je dit inderdaad niet met MySQL?
Edit:
Geen MySQL op je server? Misschien wordt het dan tijd om dat eens te installeren. Er gaat een wereld voor je open ;)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
inplaats van de a bij fopen, een w bij fopen.
@ blanche: jep, moet dan een hele andere host nemen. wordt tijd..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if (isset($_SERVER['REMOTE_ADDR'])) {
$ip_adres = $_SERVER['REMOTE_ADDR'];
} else {
$ip_adres = getenv($_SERVER['HTTP_X_FORWARDED_FOR']);
}
$file = "ip.txt";
$open = fopen( $file, "r" ) or die ( "Operation Failed!" );
if($ip_adres != $file) {
// Dit bestandje wordt geïnclude in een pagina (pagina A.php).
// Als de IP opgeslagen in ip.txt niet hetzelfde is als $ip_adres,
// dan moet er een redirect komen naar pagina B.php
// Komen de IP's wel overeen, dan moet de pagina waar dit bestand
// in geïnclude is, vertoond worden (pagina A.php)
// Hoe zet ik dat hier in mijn if } else { functie?
fclose($file);
}
?>
if (isset($_SERVER['REMOTE_ADDR'])) {
$ip_adres = $_SERVER['REMOTE_ADDR'];
} else {
$ip_adres = getenv($_SERVER['HTTP_X_FORWARDED_FOR']);
}
$file = "ip.txt";
$open = fopen( $file, "r" ) or die ( "Operation Failed!" );
if($ip_adres != $file) {
// Dit bestandje wordt geïnclude in een pagina (pagina A.php).
// Als de IP opgeslagen in ip.txt niet hetzelfde is als $ip_adres,
// dan moet er een redirect komen naar pagina B.php
// Komen de IP's wel overeen, dan moet de pagina waar dit bestand
// in geïnclude is, vertoond worden (pagina A.php)
// Hoe zet ik dat hier in mijn if } else { functie?
fclose($file);
}
?>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if($_SERVER['REMOTE_ADDR'] != file_get_contents('ip.txt')){
header("Location: B.php");
}
?>
if($_SERVER['REMOTE_ADDR'] != file_get_contents('ip.txt')){
header("Location: B.php");
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Bo az
Code (php)
maar als ik dit in een bestandje zet (include.inc.php) en deze vervolgens laat includen in pagina A.php, dan wordt nog steeds A.php getoond ookal komt het IP-adres NIET overeen met die uit ip.txt (en dat is niet de bedoeling, want komen ze niet overeen, dan wil ik B.php zien, en geen toegang tot A.php hebben!) snappie...
Wat gaat er dan fout?
Als je ip.txt opent in kladblok, staat er dan niet toevallig een nieuwe regel achter of zoiets?
nee, puur en alleen een IP adres. Maar om te checken of het werkt heb ik even een foute IP in ip.txt gezet (die dus niet overeen komt met mn eigen IP), maar dan wordt ik niet naar B.php gestuurd, en krijg ik gewoon toegang tot A.php
Joshua, dat heleverhaal wat jy daar hebt staan met fopen etc. is niet nodig, dat stukje wat ik poste moet enkel voldoende zijn.
Zet eens bovenaan je file:
error_reporting(E_ALL);
Dan doettie het prima, ik krijg idd B.php, want mijn IP komt niet overeen met die in het bovenstaande scriptje. Blijkbaar wordt ip.txt dus niet goed gelezen. Maar hoe kan dat?
Ik zal even een online testje doen, moment.
Hoe DOM kun je wezen! Heren, bedankt!!!
Code (php)
deed het hier prima. Maar mooi dat het opgelost is.