Toon posts:

[Javascript] IP blocken werkt niet.

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Untitled Document</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script language="javascript">
var ip = '<!--#echo var="REMOTE_ADDR"-->'
if (ip = 'IP.AD.RE.S') { 
alert("STOP! You are viewing this page from an IP address that is not allowed!");
alert("Why can't you guys just leave me alone?");
if (confirm("Do you want to leave peacefully? Or will I have to help you?"))
{location.href="http://www.mti.com" } else { ("OK you choose I don't care! Bye bye! Don't come back!"); {location.href="http://www.yahoo.com" }} } 
        </script>
    </head>
    <body>
        Should not SEE
    </body>
</html>


Het javascript in de HEAD zou een bepaald ip adres moeten blocken. Echter als ik het test dan blockt deze alle IP's.

Het script komt hier vandaan: http://wsabstract.com/script/script2/blockip.shtml

In eerste instantie bij testen werkte het script niet. Toen heb ik de dubbele = in if (ip = 'IP.AD.RE.S') vervangen door maar één =. Echter hierdoor lijkt die alle IP's te blocken.

Iemand een idee waar de fout in kan zitten?

Verwijderd

Client-side checken op IP, dat is niet erg slim he? :P

Normaal gesproken doe je dat eerder met een server-side script, of via .htaccess als je een apache server draait.

Verwijderd

Topicstarter
Clientside omdat de website gehost wordt.

Ik kan bij de host (Vevida, IIS server) wel een IP ban aanvragen, maar het moet wel grappig blijven. Is nl. meer een grap dan echt een serieuze zaak.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

De dubbele == moet je gewoon laten staan. Nu doe je namelijk geen vergelijking, maar een toekenning. Daarnaast sluit ik me helemaal aan bij Cheatah. Clientside IP's blocken is vergelijkbaar met je bezoekers zelf hun kaartje te laten controleren.

Daarnaast lijkt het volgende stukje:
code:
1
'<!--#echo var="REMOTE_ADDR"-->'

iets dat serverside nog meot worden ingevuld. Je kunt het iig niet zo laten staan.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 13:53

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Janoz heeft gelijk, er moet nog wat worden ingevuld, maar als je toch serverside-scripts kan draaien (om dus die echo var op te vullen), waarom regel je het dan niet serverside, kan ook grappig zijn :P

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

vevida heeft toch standaard asp support? check w3schools.com hoe je ip adressen kan afvangen (jou ssscript lijkt me php) en doe een response.redirect afhankelik van het resultaat

Verwijderd

Topicstarter
Prammenhanger schreef op 26 september 2002 @ 17:52:
Janoz heeft gelijk, er moet nog wat worden ingevuld, maar als je toch serverside-scripts kan draaien (om dus die echo var op te vullen), waarom regel je het dan niet serverside, kan ook grappig zijn :P
Janoz heeft ongetwijfeld gelijk, maar ik ben geen javascript held en kreeg het niet werkende.

Uiteindelijke heb ik het gedaan met een stuk vb.net. Erg simpel.
Verwijderd schreef op 26 september 2002 @ 19:36:
vevida heeft toch standaard asp support? check w3schools.com hoe je ip adressen kan afvangen (jou ssscript lijkt me php) en doe een response.redirect afhankelik van het resultaat
Was niet PHP, maar Javascript. Zie titel zeg maar :+

Maar gewoon simpel gedaan in vb.net (Bij Vevida kan je ASP.Net framework krijgen):

code:
1
2
3
If Page.Request.UserHostAddress = "IP.AD.RE.S" THEN 
Response.Redirect("NotAllowToVisit.aspx") 
End If


Dit heb ik gewoon in mijn aspx paginaatje gezet. Btw dit is de enige pagina die opgevraagd kan worden op mijn site (portal). Dus het IP kan niet alsnog via een andere pagina op de site.

  • Virtox
  • Registratie: December 2000
  • Laatst online: 11-08 10:24
if (ip = 'IP.AD.RE.S')
is altijd waar (is een toekenning)
probeer
if (ip == 'IP.AD.RE.S')

Anything goes !!


Verwijderd

JAVA werkt niet met ASP toch?

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
JAVA werkt niet met ASP toch?
Waar zie jij Java staan dan?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Dit script is dus niet alleen Javascript.. maar berust op SSI, ServerSide Include.

<!--#echo var="REMOTE_ADDR"-->

Als je server dat niet ondersteunt kun je dit verder wel vergeten. Bovendien een een clientside check uberhaupt nogal nutteloos.. Kijk eens naar een ASP oplossing als je toch IIS gebruikt.

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 17-08 16:09
Verwijderd schreef op 26 september 2002 @ 10:54:
Clientside omdat de website gehost wordt.
Dat mag ik hopen :X

Verwijderd

Topicstarter
Onvoorstelbaar dat mensen hier nog reageren :+

Het javascript heb ik niet gebruikt. In plaats daarvan heb ik dus dat stukje vb.net gebruikt (zie hierboven).

Het probleem is dus opgelost!

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:03

RM-rf

1 2 3 4 5 7 6 8 9

als je host htaccess ondersteunt is dit beter, hiermee kan je specifieke IP's danwel hele IP-range's blocken via de <LIMIT>-rule

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Virtox
  • Registratie: December 2000
  • Laatst online: 11-08 10:24
Verwijderd schreef op 27 september 2002 @ 17:07:
Onvoorstelbaar dat mensen hier nog reageren :+

Het javascript heb ik niet gebruikt. In plaats daarvan heb ik dus dat stukje vb.net gebruikt (zie hierboven).

Het probleem is dus opgelost!
Ja maar nu weet je ook wat je in javascript fout heb gedaan, kan je nog eens wat leren....

Anything goes !!


Verwijderd

Topicstarter
MoodSwing schreef op 27 september 2002 @ 18:44:
[...]


Ja maar nu weet je ook wat je in javascript fout heb gedaan, kan je nog eens wat leren....
;) Dat klopt, ik had het ook eerder over dit soort reacties:
Bosmonster schreef op 27 september 2002 @ 12:38:
Kijk eens naar een ASP oplossing als je toch IIS gebruikt.
RM-rf schreef op 27 september 2002 @ 17:09:
als je host htaccess ondersteunt is dit beter, hiermee kan je specifieke IP's danwel hele IP-range's blocken via de <LIMIT>-rule
Ik heb niet echt het gevoel dat deze mensen het topic goed doorlezen voordat ze reageren :Y)
Pagina: 1