Hoi! Ik wil graag een php-script maken dat bepaalde tekst alleen aan een beperkt aantal ip-adressen laat zien (eigenlijk alleen aan een paar mensen die met Safari 1.2 mijn site bezoeken, maar ik heb hun ip-adressen, vandaar mijn keuze). Ik heb er geen idee van of de beveiliging van het script goed is en of ik in de goede richting zit, ik ben pas een paar dagen bezig, maar ik moet alle scripts vandaag of uiterlijk morgen af hebben.
Code (php)
1
2
3
4
<?php
if (ip == "xx.xx.xx.xx")
echo ""
?>
Klopt dit en is dit script veilig?
En kan ik evt. meer ip-adressen gewoon via || ip== "" toevoegen?
Ja, alleen zul je 'ip' wel het ip-adres moeten laten zijn. Dat kun je bijvoorbeeld met $_SERVER['REMOTE_ADDR'] achterhalen.
Als je meerdere ip-adressen wilt controleren, zou ik met een array werken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
<?php
$ip_adressen = array(
'1.1.1.1',
'2.2.2.2',
'3.3.3.3'
);
if(in_array($_SERVER['REMOTE_ADDR'], $ip_adressen) {
// echo je tekst
}
?>
ps. Zelfde oplossing als Jurgen dus :)
Thnx voor de replies! Ik krijg een parsing error op regel 5 of ik nu //, (), ; gebruik of niet en ik kom er niet achter wat ik verkeerd doe. Hoe herschrijf ik dit zodat het script wel werkt?
Code (php)
1
2
3
4
5
6
7
<?php
$addresses = array('192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4');
if(in_array($_SERVER['REMOTE_ADDR'], $addresses)
{
echo "hello";
}
?>
bugmenot125 schreef op 22.06.2009 11:04:Thnx voor de replies! Ik krijg een parsing error op regel 5 of ik nu //, (), ; gebruik of niet en ik kom er niet achter wat ik verkeerd doe. Hoe herschrijf ik dit zodat het script wel werkt?
Code (php)
1
2
3
4
5
6
7
<?php
$addresses = array('192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4');
if(in_array($_SERVER['REMOTE_ADDR'], $addresses)
{
echo "hello";
}
?>
Ik heb een klein foutje gemaakt. je moet even achter $_SERVER['REMOTE_ADDR'] een ) doen dus: in_array($_SERVER['REMOTE_ADDR'])
Bedankt voor de reactie, Jurgen. Ik blijf een Parse error: syntax error, unexpected ',' on line 8 krijgen.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head></head><body>
Code (php)
1
2
3
4
5
6
7
<?php
$addresses = array('1.1.1.1','1.1.1.1');
if(in_array($_SERVER['REMOTE_ADDR']), $addresses)
{
//hello
}
?>
</body></html>
Ik heb //hello vervangen door echo "";, echo "", echo '', echo(""); etc., maar ik blijf dezelfde foutmelding krijgen. Hoe kan ik dit corrigeren?
Alvast bedankt!