Avatar billede Slettet bruger
05. juni 2003 - 19:50 Der er 20 kommentarer og
1 løsning

IP og tilhørende BAN.

Hey Eksperter.

Jeg har en tagwall skrevet i php, der mailer mig hvergang der er et nyt indlæg. Men fra tid til anden kommer der jo ret dumme indlæg, og jeg vil udvide tagwallen med en ban funktion.

Hvordan beder man gæstebogen gemme posterens ip adresse? Eller hvordan får man den overhovedet til at læse den?

Hvis personen skal bannes, er det vel at lave en funktion, der læser ip'en, og hvis ip'en indgår f.eks i en "banned.txt"-fil, så får han en "du er banned" side frem istedet for, hvergang han prøver at loade siden, ikke?

// pac out
Avatar billede Slettet bruger
05. juni 2003 - 19:51 #1
Og endnu en ting, hvordan kan man få oplyst hvilken url man er på, via php?

F.eks. vil den url, hvor tagget i tagwall'en er lavet, bliver vist i emailen der kommer, når der er nye indlæg.
Avatar billede exp-ralle Nybegynder
05. juni 2003 - 19:53 #2
$_SERVER['REMOTE_ADDR'] skal du bruge for at nuppe ip adressen...
Avatar billede ohmish Nybegynder
05. juni 2003 - 20:27 #3
har du mulighed for mysql database?
Avatar billede Slettet bruger
05. juni 2003 - 20:40 #4
Ja, men ville gerne undgå det...
Avatar billede ohmish Nybegynder
05. juni 2003 - 21:00 #5
ok. det er lidt bobbob uden database..
men et alternativ at du laver en txt fil, og manuelt tilføjer/fjerner ipadresser via et script. eller laver et script der gør det automatisk (kan ikke anbefales, da det kan gå grueligt galt med kombinationen: dynamiske sider og txt-filer).


til at banne ipadresser manuelt (max 60) automatisk ka du bruge:
<?php
if ($_POST['ip']) {
  $fil = fopen("ips.txt", "a+");
  fwrite($fil, "$_POST['ip']||");
  fclose($fil);
}
?>
Hvem skal bannes?<br>
<form action="<?php echo $PHP_SELF; ?>" method="post">
IP: <input type="text" name="ip"><br>
<input type="submit" name="submit" value="BAN">
</form>



// Og når du vil checke ip'en (put helt øverst i din tagwall):
<?php
$fil = fopen("ips.txt", "r");
$indhold = fgets($fil, 1024);
$split = explode("||", $indhold);
if(in_array($REMOTE_ADDR, $split)) {
@header ("Location: side_hvis_IP_er_banned.php"); echo "Du er banned"; exit; }
?>

husk at lave filen "ips.txt" først.
Avatar billede tipsen Nybegynder
05. juni 2003 - 23:56 #6
Det er forøvrigt meget restriktivt, at begrænse på ip-nummer da der ofte kan sidde mange forskellige personer bag samme ip!
Avatar billede ohmish Nybegynder
06. juni 2003 - 01:22 #7
man ku nævne i flæng:
større virksomheder, told & skat, skoler og mange andre..

med én undtagelse (gæt) vil vi ikke banne dem, vel vil vi ej.
Avatar billede Slettet bruger
06. juni 2003 - 03:02 #8
omish - før jeg kan teste dit, skal jeg få det til at virke, så jeg kan se deres ip :P

Utroligt nok, kan jeg ikke få min "admin side" til at vise de postenes ip-addresser...
Avatar billede ohmish Nybegynder
06. juni 2003 - 04:10 #9
vis mig koden fra din admin side
Avatar billede Slettet bruger
06. juni 2003 - 16:32 #10
Har du mulighed for at kontakte mig over mail eller evt icq?

kaspar@pacroon.dk - icq uin #507737
Avatar billede Slettet bruger
06. juni 2003 - 16:34 #11
Jeg mener jeg har forstået det rigtigt, ikke?

Altså, jeg laver et hidden formobjekt jeg f.eks kalder "ip" der poster remote_addr til f.eks. en eller anden variabel, som jeg så skal hente i admin siden, right?
Avatar billede ohmish Nybegynder
06. juni 2003 - 18:25 #12
jo. det lyder meget rigtigt. får du ip'en over email?
Avatar billede Slettet bruger
07. juni 2003 - 18:53 #13
Om jeg får ip'en over mail?

Nej jeg ville have den skulle gemmes når en gut poster, og så skulle den vises under hvert indlæg på min admin side, hvor der kan redigeres i indlæggene osv...
Avatar billede ohmish Nybegynder
08. juni 2003 - 14:38 #14
du skrev: "Jeg har en tagwall skrevet i php, der mailer mig hvergang der er et nyt indlæg. "

derfor spurgte jeg om ip. det er vel sjældent at der skal bannes, så du kan gøre det manuelt.

hvis du vil lave en autobanner.. :
hvornår skal der bannes (f.eks ved "fuck" eller hvis man poster 2 gange lige efter hinanden)? skal personen bannes en bestemt tidsperiode?

igen, det er ikke optimalt at bruge txt-fil som "database".
Avatar billede ohmish Nybegynder
08. juni 2003 - 14:40 #15
i din mailfunktion sætter du det her ind:

$iphost = $_SERVER['REMOTE_ADDR'];
og echo'er ip'en i mail body.
Avatar billede Slettet bruger
08. juni 2003 - 16:28 #16
Det er jo rigtigt, det var mere fordi vi er flere der "modererer" tagwallen, da siden er forholdsvis stor. Men det er stadig for åndsvagt at bruge så mange kræfter på den detajle.

Tak for hjælpen !
Avatar billede Slettet bruger
08. juni 2003 - 16:45 #17
Ip'erne sepereres af "|" ikke?

Altså: xx.xx.xx.xx|xx.xx.xx.xx right?
Avatar billede Slettet bruger
08. juni 2003 - 16:47 #18
"||" even
Avatar billede ohmish Nybegynder
08. juni 2003 - 17:10 #19
jæs
Avatar billede Slettet bruger
08. juni 2003 - 17:14 #20
Hm, hvordan laver du den ip checker til ikke at echo'e, men bare sende folk til den location?

Jeg har allerede headerinformation sendt, nemlig..
Avatar billede Slettet bruger
08. juni 2003 - 17:15 #21
Doh, nevermind - tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester