[php] pagina alleen bereikbaar voor een ip

Pagina: 1
Acties:

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
Ik wil graag ervoor zorgen dat andere niet op mijn paginatje kunnen komen en heb geen zin in passworden.
Met behulp van de search kwam ik tot het volgende, maar dat werkt niet zoals het moet :(

Het is de bedoeling dat hij het externe ip adres van de bezoeker bekijkt, niet zijn interne.
Zelf zit ik achter de server, en als ik op die pagina ga zegt hij:
Je hebt geen toegang vanaf 192.168.1.2

Het kan ook zo zijn dat het scipt wel klopt en dat het alleen voor mij niet werkt omdat ik achter de server zit waar het script op draait. In dat geval lijkt het me "veilig" om het aan te passen in dat je van het ip 192.168.1.2 af moet komen wil je toegang krijgen toch?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "")
{   $proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
     $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
} else {
   $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}

if (preg_match("!129\.125\.103\.216!",$ip)) {

## site ##

}else{
echo "je hebt geen toegang vanaf " . "$ip"";
?>

...


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Gewoon checken of het een intern IP adres is (192.168.0.x), is dat niet zo: blocken.

Als je dat doet kun jij alleen bij die page (vanaf je lokale netwerk), vanaf internet kan er NIEMAND bij (ook al zit diegene achter een proxy/getaway).

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
Dus dit scriptje zo kan ik priema gebruiken als ik het ip aanpas in 192.168.1.2? Het scriptje werkt dus en haalt voor anderen het externe ip op?

...


  • mrfatmen
  • Registratie: Februari 2001
  • Laatst online: 22:24
kan je toch ook doen met .htaccess de ene bestand beveiligen door middel van ip ipv pass

Heeft uw auto pijn? Ga dan naar de onderdelenlijn
Het bedrijf waar ik met veel plezier werk - Mijn eigen vertrouwde domein


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Een preg om de IP te checken HAHAHAHHAHAHAHHAHAHHAHAHA. :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Op woensdag 30 januari 2002 14:35 schreef dusty het volgende:
Een preg om de IP te checken HAHAHAHHAHAHAHHAHAHHAHAHA. :+
Als je daar nou een nuttige reply aan toe voegt, is iedereen ook weer blij... Wat een achterlijke reactie, niet iedereen is zo'n goede programmeur als jij :r :r

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 30 januari 2002 14:40 schreef Skef het volgende:
[..]
Als je daar nou een nuttige reply aan toe voegt, is iedereen ook weer blij... Wat een achterlijke reactie, niet iedereen is zo'n goede programmeur als jij :r :r
Je staat voor een gesloten deur, je hebt de (juiste) sleutel in je hand, dus wat doe je, Je grijpt naar je broekzak en gebruikt de loper die in je broekzak zit ipv de sleutel in je hand.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Bovenaan doen:
PHP:
1
2
3
4
5
6
7
<?
  if (&amp;REMOTE_ADDR <> "jou ip!") {
  echo "ERROR";
  exit;
?>
<hmtl>
?>

Zoiets?

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
Op woensdag 30 januari 2002 15:02 schreef XLerator het volgende:
Bovenaan doen:
PHP:
1
2
3
4
5
6
7
<?
  if (&amp;amp;REMOTE_ADDR <> "jou ip!") {
  echo "ERROR";
  exit;
?>
<hmtl>
?>

Zoiets?
Ja maar dan pakt hij de REMOTE_ADDR, dat is gewoon het ip, als je achter een server zt geeft ie dus je interne ip weer. In mijn geval 192.168.1.2

...


  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
Op woensdag 30 januari 2002 14:54 schreef dusty het volgende:

[..]

Je staat voor een gesloten deur, je hebt de (juiste) sleutel in je hand, dus wat doe je, Je grijpt naar je broekzak en gebruikt de loper die in je broekzak zit ipv de sleutel in je hand.
Met de search stuite ik op deze topic, daar heb ik het uitgevist.
[topic=386634/1/25]

Daar staat oa:
Op zondag 20 januari 2002 22:32 schreef Jppr het volgende:
mij hebben ze op GoT geleerd met preg() te werken ipv ereg() omdat het sneller is. Dat staat ook zo op de site van PHP.

de expression wordt dan:
preg_match("!192\.168\.[23-236]\.[1-254]!",$REMOTE_ADDR)

[..]
Dus waarom zou ik het niet doen met preg?

En verder zeg je dat ik de deur nu open met de loper, dat betekend dat het dus wel werkt. Dat wou ik toch weten?

...


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op woensdag 30 januari 2002 15:08 schreef Haranaka het volgende:
Dus waarom zou ik het niet doen met preg?
Mwoh, gewoon vergelijken met $ip == "jouw ip" lijkt me voldoende :)

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
:) ok you've convinced me :)

...


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 30 januari 2002 15:08 schreef Haranaka het volgende:
[..]
Dus waarom zou ik het niet doen met preg?
Omdat er misschien een betere oplossing tot jouw specifieke vraagstelling is.
En verder zeg je dat ik de deur nu open met de loper, dat betekend dat het dus wel werkt. Dat wou ik toch weten?
De bekende tweakers verschijnsel, "ik interreseer me geen reet voor programmeren als het maar werkt"-instelling.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Nu kan dus iedereen met een intern ip adresje op die site komen... niet echt effectief dus.

Met een wachtwoord beveiligen lijkt me het toch beste
(en dan kun je eventueel wel alsnog naar het ip kijken)

Dusty: Lekker gedrag van een modje hoor :r

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 30 januari 2002 15:16 schreef SWINX het volgende:

Dusty: Lekker gedrag van een modje hoor :r
*Kuch* Light modje; dat is een heel verschil.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op woensdag 30 januari 2002 15:16 schreef SWINX het volgende:
Nu kan dus iedereen met een intern ip adresje op die site komen... niet echt effectief dus.

Met een wachtwoord beveiligen lijkt me het toch beste
(en dan kun je eventueel wel alsnog naar het ip kijken)

Dusty: Lekker gedrag van een modje hoor :r
Hoezo zijn modjes heilig????

Maar ja, je hebt gelijk als je niks te zeggen hebt zeg het dan ook niet!

Programmer - an organism that turns coffee into software.


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 22:37
Je kunt het niet testen vanaf je eigen netwerk, intern dus. Je moet dus OF zelf vanaf 'buiten' checken OF even aan iemand vragen of ie wil checken.

Ik heb het ook draaien, hieronder een stukje van de code
PHP:
1
2
3
4
5
6
7
8
<?
echo $REMOTE_ADDR;
if (preg_match("!62\.238\.[0-31]\.[1-254]!",$REMOTE_ADDR)) {
    echo "Welkom";
}else{
    echo "geen toegang";
}
?>

Als je binnen de ip range valt heb je toegang, anders niet

sim-pel :)

[edit: nu in kleur :P]

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 30 januari 2002 15:16 schreef SWINX het volgende:
Dusty: Lekker gedrag van een modje hoor :r
Ik ben geen MOD. ik ben een light-mod , betekent nog steeds dat ik een normale gebruiker ben, Ook al ben ik nu een light-mod, ga ik niet meteen mijn meningen onder tafel schuiven.

Een houding als "Maar het werkt nu, dus ik hoef niet meer verder te kijken" gaat er bij mij als programmeur niet in, Als men dat zegt kan men dan namelijk een nogal een harde opmerking van mij verwachten. Vooral de laatste tijd is het aantal mensen met die instelling drastisch gegroeid.

Mocht je klachten hebben over mij als Light-moderator kan je ze altijd kwijt in "Lieve Adjes", Heb je klachten over mij als gebruiker zijnde kan je ze kwijt in "Stoute Usertjes".

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • TheRebell
  • Registratie: Oktober 2000
  • Laatst online: 22:37
offtopic:
[quote]
Op woensdag 30 januari 2002 15:37 schreef dusty het volgende:

[..]

Ik ben geen MOD. ik ben een light-mod , betekent nog steeds dat ik een normale gebruiker ben, Ook al ben ik nu een light-mod, ga ik niet meteen mijn meningen onder tafel schuiven.

Een houding als "Maar het werkt nu, dus ik hoef niet meer verder te kijken" gaat er bij mij als programmeur niet in, Als men dat zegt kan men dan namelijk een nogal een harde opmerking van mij verwachten. Vooral de laatste tijd is het aantal mensen met die instelling drastisch gegroeid.

Mocht je klachten hebben over mij als Light-moderator kan je ze altijd kwijt in "Lieve Adjes", Heb je klachten over mij als gebruiker zijnde kan je ze kwijt in "Stoute Usertjes".
[/quote]

;)

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
Met mijn instelling is niets mis, ik doelde op de code vooraf gaande aan de preg_match.

...


Verwijderd

Op woensdag 30 januari 2002 15:16 schreef SWINX het volgende:
Nu kan dus iedereen met een intern ip adresje op die site komen... niet echt effectief dus.
:?
REMOTE_ADDR is gewoon het REMOTE_ADDR
Dat jij op die bak binnenkomt via een intern nummer is een ander verhaal.
Als iemand anders via NAT van buitenaf op jouw bak komt stuurt hij echt niet z'n interne nummer mee hoor.

Jij zal nooit zien dat mijn interne nummer 10.10.10.1 is als ik via het Internet bij jou binnenkom.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ok, wat dusty probeert duidelijk te maken:
preg_match is een functie dat op strings werkt...

Ip-adressen zijn 32-bits getallen, waarom zou je stringfuncties op getallen uitvoeren terwijl je veel beter EN foutlozer 'getalchecks' kan doen...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 30 januari 2002 15:52 schreef MarcoTC het volgende:
Jij zal nooit zien dat mijn interne nummer 10.10.10.1 is als ik via het Internet bij jou binnenkom.
Die waarde zal hooguit in HTTP_X_FORWARDED_FOR staan als je via een proxy werkt, inderdaad :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 30 januari 2002 15:52 schreef ACM het volgende:
Ok, wat dusty probeert duidelijk te maken:
preg_match is een functie dat op strings werkt...

Ip-adressen zijn 32-bits getallen, waarom zou je stringfuncties op getallen uitvoeren terwijl je veel beter EN foutlozer 'getalchecks' kan doen...
Ip-adressen zijn 32-bits getallen die als een string bekend zijn in IP in verband met . enzo :)

Verwijderd

Op woensdag 30 januari 2002 14:18 schreef Haranaka het volgende:
[...]
if (preg_match("!129\.125\.103\.216!",$ip)) {
[...]
Ik gebruik hiervoor altijd ip2long en long2ip.
Vind ik een stuk handiger en het is lekker makkelijk om ranges te checken.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 30 januari 2002 15:54 schreef Nielsz het volgende:
Ip-adressen zijn 32-bits getallen die als een string bekend zijn in IP in verband met . enzo :)
Huh :?

Je pc werkt echt niet met strings intern hoor, in de tcp/ip code...

Gewoon met getallen (binaire getallen dus he? ;) ), daar kan je prachtige vergelijkingen op doen. Zeker als je ook de subnet masks in getallen omzet...

Waarom zou je ze als strings beschouwen en daar ook nog eens een extra "fouten constructie" mee genereren?

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 07-06 23:13
Goed zo iemand zo vriendelijk willen zijn die achter een servertje op internet zit, mij kunnen helpen om te testen of het stukje code daatwerkelijk het externe ip adres ophaalt of het interne.

http://129.125.103.216/test.php

...


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 30 januari 2002 16:01 schreef ACM het volgende:

[..]

Huh :?
$proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
imo is dat toch echt een string hoor :?
Hoevaak kom jij getallen tegen met 3 punten? (of zelfs dubbele punten >:) (ipv6))

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op woensdag 30 januari 2002 16:13 schreef Nielsz het volgende:

[..]

$proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
imo is dat toch echt een string hoor :?
Hoevaak kom jij getallen tegen met 3 punten? (of zelfs dubbele punten >:) (ipv6))
Dat PHP er in sommige gevallen een String van maakt wil niet zeggen dat het een String is ;)

  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 07-09 17:34
Op woensdag 30 januari 2002 16:11 schreef Haranaka het volgende:
Goed zo iemand zo vriendelijk willen zijn die achter een servertje op internet zit, mij kunnen helpen om te testen of het stukje code daatwerkelijk het externe ip adres ophaalt of het interne.

http://129.125.103.216/test.php
dit geeft het ip-adres van de proxy hier...

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 30 januari 2002 16:17 schreef wasigh het volgende:

[..]

Dat PHP er in sommige gevallen een String van maakt wil niet zeggen dat het een String is ;)
wijs-neus :P
dus jij beweert dat het in java :r ;) wel een int is?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 30 januari 2002 16:20 schreef Nielsz het volgende:
wijs-neus :P
dus jij beweert dat het in java :r ;) wel een int is?
Het wordt binnen php genoteerd dmv een string, omdat ze geen geschikt datatype ervoor hebben ;)

Maar in principe representeert die string alsnog een getal, dus is het een getal. Zeker als je ook nog eens de achterliggende werking van IP een beetje begrijpt ;)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 30 januari 2002 16:25 schreef ACM het volgende:

[..]

Het wordt binnen php genoteerd dmv een string, omdat ze geen geschikt datatype ervoor hebben ;)

Maar in principe representeert die string alsnog een getal, dus is het een getal. Zeker als je ook nog eens de achterliggende werking van IP een beetje begrijpt ;)
Tja, daar heb je gelijk in :)
En in mijn eerste post zei ik IP maar ik bedoelde PHP |:(
Pagina: 1