IP's auto toevoegen aan .htaccess

Door Lennart , 16 jaar geleden, 3.802x bekeken

Php ers,

Dit is mijn eerste script wat ik deels met hulp heb gemaakt via phphulp.nl
Dus het leek mij wel fair om de code dan ook maar weer te posten op phphulp.nl.
Het is dus mijn eerste zelf gemaakte scirpt dus boor me aub niet gelijk de grond in maar kom met opbouwende kritiek ;).

Wat doet dit script?

Dit script maakt het mogelijk om automatisch IP adressen toe tevoegen aan een htaccess file. Ook telt het script de regels in de .htaccess file komen die boven een aantal regels leegt ie de htaccess weer. Er word ook gekeken of het IP adres al in de .htaccess file staat zodat die niet te snel volloopt.
Je kan dus bijvoorbeeld met een unieke link iemand toegang geven tot je FTP server zonder dat die een login krijgt. Wat je ook kan doen met dit script en daargebruik ik het zelf ook voor is als je achter je website een ftp server hebt hangen waar je bestanden op hebt staan voorkomen dat mensen gaan dieplinken. Ik hou ook een timelog bij.

Je hebt intotaal 3 bestanden nodig;

bestand 1 gewoon in kladblok opslaan allebestanden selecteren en dan opslaan als .htaccess. Plaats .htaccess in de root van een folder die je wil beveiligen.
Dit moet er in de file staan:

AuthType Basic
<Limit GET POST>
order deny,allow
deny from all

bestand 2 is een gewone txt file waar je niks voor hoeft in te vullen. Deze file moet je opslaan als timelog.txt op deze manier kun je zien wie er allemaal je site bezoekt.

bestand 3 is het php bestand. Ik zelf heb hem opgeslagen als ip.php. Maar je kan hem ook in een bestaande site hangen. Wijzig natuurlijk wel even waar je de 2 andere bestanden hebt staan.

Voorbeeld: http://NVT

Gesponsorde koppelingen

PHP script bestanden

  1. ips-auto-toevoegen-aan-htaccess

 

Er zijn 21 reacties op 'Ips auto toevoegen aan htaccess'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Bart van Asselt
Bart van Asselt
16 jaar geleden
 
0 +1 -0 -1
Dit vind ik echt een top script, ik ga het alleen niet gebruiken zoals in je voorbeeld maar ik ga het ombouwen tot een ban script. Dus ontzettend bedankt dat je dit script wil delen! Voor je 1e script is dit zeker niet slecht;)
Frank -
Frank -
16 jaar geleden
 
0 +1 -0 -1
Let er wel op dat .htaccess voor nog meer zaken dan alleen toegang kan worden gebruikt. Zorg er wel voor dat je deze gegevens niet (per ongeluk) weggooit.

De systemen die ik schrijf, werken bv. niet zonder mod_rewrite wat dus in .htaccess staat.
Lennart
Lennart
16 jaar geleden
 
0 +1 -0 -1
De .htaccess word niet weggegooid maar geleegd. Dit werkt na uitvoerig testen. Ik gebruik dit script zelf op een intranet waar 50 mensen gebruik van maken. Het script is nu 2 dagen in gebruik. Tot nu toe geen bugs gevonden.

Wat wel een belangrijke kant tekening is dat je je CHMOD goed moet zetten. Anders krijg je namelijk errors dat hij je .htaccess niet kan openen. Je CHMOD kan je goed zetten in je FTP programma. Ik gebruik zelf net als de meeste FlashFXP daar kun je gewoon rechtermuisknop drukken en zie je (kenmerken) CHMOD staan. Die kun je daar dan wijzigen.
- SanThe -
- SanThe -
16 jaar geleden
 
0 +1 -0 -1
Quote:
De .htaccess word niet weggegooid maar geleegd.

Dat is toch precies hetzelfde als weggooien. Wat Frank bedoelt is dat er al dingen kunnen in staan en die moeten er dus weer in komen.
Lennart
Lennart
16 jaar geleden
 
0 +1 -0 -1
Die staan bij de content. De "lege" .htaccess blokt alles tot er weer een IP toegevoegd word.
Remco Leuven
Remco Leuven
16 jaar geleden
 
0 +1 -0 -1
Wat moet ik doen om die log.txt te legen ipv de .htaccess?
Lennart
Lennart
16 jaar geleden
 
0 +1 -0 -1
Wil je legen nadat je zoveel logs hebt gehad of wil je gewoon geen log bij houden?
Edwin
Edwin
16 jaar geleden
 
0 +1 -0 -1
moet regel 31 niet zijn:

$content = file_get_contents($file);

ipv:

$content = file_get_contents("$file");
TJVB tvb
TJVB tvb
16 jaar geleden
 
0 +1 -0 -1
Edwin de 2e variant is een stuk netter (de eerste werkt wel maar niet echt aan te raden)
Edwin de 1e variant is een stuk netter (de tweede werkt wel maar niet echt aan te raden)

Lennart je vergeet dat in je .htaccess veel meer kan staan dan de toegang. Wat pgFrank en SanThe bedoelen is dat je de rest kwijt kunt raken.
Ik heb bijvoorbeeld deze regels er ook bij in staan.
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Dit zijn 2 standaard regels voor het Zend Framework maar die zullen na het gebruik van jou script verdwenen zijn.
Lennart
Lennart
16 jaar geleden
 
0 +1 -0 -1
Ja dat ben ik met je eens. Ik ga ervan uit in het script dat je .htaccess gebruikt zoals ik omschrijf. Je kan echter de 2 regels die jij gebruikt toevoegen aan het content wat hij toevoegt. Je kan er ook voorkiezen om alleen te schrijven en niet te verwijderen.
Remco Leuven
Remco Leuven
16 jaar geleden
 
0 +1 -0 -1
Quote:
Wil je legen nadat je zoveel logs hebt gehad of wil je gewoon geen log bij houden?

===
Ik wil het legen na zeg maar, 250 entries
Onbekend Onbekend
Onbekend Onbekend
16 jaar geleden
 
0 +1 -0 -1
Wat is het doel, bijhouden waar je bezoeker van daan komen (op ip)? Dan kun je toch beter een database gebruiken?
Lennart
Lennart
16 jaar geleden
 
0 +1 -0 -1
$aLines = file($file2);
$iAantal = count($aLines);
if($iAantal > 250)
{
$Content2 = "Log file ";
$fp2 = fopen($file2, 'w');
fwrite($fp2, $Content2);
fclose($fp2);
}

@t Tommy soms heb je geen database tot je bschikking of heb je de kennis niet.

volgens mij moet ie het zo doen.
Onbekend Onbekend
Onbekend Onbekend
16 jaar geleden
 
0 +1 -0 -1
waarom dan niet in een txt file? dit is volgensmij niet echt slim om dit in een htaccess te doen, daar is het gewoon niet voor bedoelt.
Lennart
Lennart
16 jaar geleden
 
0 +1 -0 -1
Je snapt niet echt wat ik doe. Ik heb een ERP pakket. Dit pakket is voorzien een login. Maar omdat de intranet functie van het pakket om te janken was heb ik zelf een site gemaakt die ik in het ERP pakket inlaad doormiddel van een Iframe. De site kijkt of je via het ERP pakket komt en om te voorkomen dat je kan deeplinken laat ik de IP adressen vast leggen in de .htaccess als er 10 IP's zijn vast gelegd leegt ie hem weer. Dit om te voorkomen dat oud medewerkers als nog kunnen deeplinken vanuit hun geschiedenis.
Onbekend Onbekend
Onbekend Onbekend
16 jaar geleden
 
0 +1 -0 -1
Nou snap ik het..
PHP erik
PHP erik
16 jaar geleden
 
0 +1 -0 -1
Quote:
moet regel 31 niet zijn:

$content = file_get_contents($file);

ipv:

$content = file_get_contents("$file");


Quote:
Edwin de 2e variant is een stuk netter (de eerste werkt wel maar niet echt aan te raden)
De tweede variant is juist helemaal niet netter. Ik zou het eerder een beginnersfout noemen. Quotes zijn voor strings, in dit geval gaat het om een variabele en ga je er dus geen quotes omheen zetten. De juiste variant is dus de eerste.
TJVB tvb
TJVB tvb
16 jaar geleden
 
0 +1 -0 -1
PHPerik je hebt helemaal gelijk, ik zal proberen voortaan weer na te lezen wat ik type
Marc dsf
Marc dsf
15 jaar geleden
 
0 +1 -0 -1
MOoi script!! Werkt heel goed:)
Projectx verheijden
projectx verheijden
11 jaar geleden
 
0 +1 -1 -1
hallo het bestand ip.php moet ik dat includen??
bijvoorbeeld im mijn login_pagina.php of registratie pagina..

ik heb de .htaccess in een folder geplaatst met het bestand timelog.txt ??

mvg
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jeroen VD
Jeroen VD
11 jaar geleden
 
Wanneer je zulke vragen hebt, en vooral met 4 jaar oude scriprs, dien je een topic te openen, zodat dit niet opgehaald wordt

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. ips-auto-toevoegen-aan-htaccess

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.