Gå til innhold

Hvordan blokkere folk?


Anbefalte innlegg

Videoannonse
Annonse
ok, mulig jeg er dum som et brød, men må ærlig innrømme at jeg er så si blank på dette, hvordan får jeg logga ip adressen??

 

(kan ikke mye om nettside laging og rundt det)

7744071[/snapback]

 

 

<?php

$ip = $_SERVER["REMOTE_ADDR"];

$dato = date("d.m.Y");

$klokke = date("H:i a");

 

$iploggfil = fopen("logg.txt", "a");

$text = "En person med ip {$ip} var her {$date} klokken {$klokke}\n";

fwrite($iploggfil, $text);

fclose($iploggfil);

?>

 

men jeg anbefaler søkefunksjonen på diskusjon

Endret av The_Lozer
Lenke til kommentar

så var det ip blokkern

 

<?php

 

/**

* @name IP Block

* @Desc Blockerer brukere utifra en tekstfil

* @param $filename, $ip

* @copyright OXODesign TEAM

* @author OXODesign

* Web: http://www.oxo-design.net

* @version 1.0

*/

class cl_ip_block {

 

var $filename = "../txt/pameldte.txt"; // En ip for hvert linje

var $ip;

 

/**

* Åpner filen og sjekker brukerens ip finnes i tekstfilen.

*

* @return true or false

*/

function func_check_ip(){

$get_ip = $_SERVER['REMOTE_ADDR'];

$this->ip = file($this->filename);

 

foreach ($this->ip as $block_ip){

if (trim($block_ip) == $get_ip) {

$status = "blocked";

}

 

}

 

return $status;

}

 

}

 

$check_ip = new cl_ip_block;

if($check_ip->func_check_ip() == "blocked"){

echo "Du er blokkert fra denne siden.";

exit();

}

?>

Lenke til kommentar

Den koden her er sikkert heeelt feil, men skriver den likevel...noen som sikkert kan rette det som er feil :)

 

<?php
$blokk1 = "xxx.xxx.xxx"; // xxx.xxx.xxx = IP adresse 
$blokk2 = "aaa.aaa.aaa"; // aaa.aaa.aaa = IP adresse

if (isset($blokk1) || ($blokk2)) {
echo "Du er blokkért fra denne siden";
}
else {
gjestebok :)
}
?>

 

 

Tror noe er feil her...for jeg fikk plutselig helt jernteppe nå :S

Så dere som kan PHP litt bedre enn meg, får rette meg :)

 

 

Edit; glemte en parentes

Endret av Andy-Pandy
Lenke til kommentar
Den koden her er sikkert heeelt feil, men skriver den likevel...noen som sikkert kan rette det som er feil :)

 

<?php
$blokk1 = "xxx.xxx.xxx"; // xxx.xxx.xxx = IP adresse 
$blokk2 = "aaa.aaa.aaa"; // aaa.aaa.aaa = IP adresse

if (isset($blokk1) || ($blokk2)) {
echo "Du er blokkért fra denne siden";
}
else {
gjestebok :)
}
?>

 

 

Tror noe er feil her...for jeg fikk plutselig helt jernteppe nå :S

Så dere som kan PHP litt bedre enn meg, får rette meg :)

 

 

Edit; glemte en parentes

7746760[/snapback]

 

 

stemmer at det noe feil, du har ikke noe som sier hva din ip er..

Lenke til kommentar
Den koden her er sikkert heeelt feil, men skriver den likevel...noen som sikkert kan rette det som er feil :)

 

<?php
$blokk1 = "xxx.xxx.xxx"; // xxx.xxx.xxx = IP adresse 
$blokk2 = "aaa.aaa.aaa"; // aaa.aaa.aaa = IP adresse

if (isset($blokk1) || ($blokk2)) {
echo "Du er blokkért fra denne siden";
}
else {
gjestebok :)
}
?>

 

 

Tror noe er feil her...for jeg fikk plutselig helt jernteppe nå :S

Så dere som kan PHP litt bedre enn meg, får rette meg :)

 

 

Edit; glemte en parentes

7746760[/snapback]

 

 

Ja dette er veldig feil. Først må du finne ut hva ip en er fornoe. For det andre passer ikke isset() inn her... Så lenge variablene finnes og du bruker isset her vil den returnere true. Og du vil dærmed vil alle være blokkert fra siden..

Jeg annbefaler også og bare bruke die('Du er blokkert fra siden'); els..

Lenke til kommentar

på min hjemmeside har jeg både gjestebok og mulighet for å maile meg fra et skjema. på grunn av misbruk har jeg gjort det slik at IP-adressen til de som mailer meg og legger inn noe i gjesteboken blir sendt med innlegget i gjesteboken og i mailen som kommer til meg.

 

eter å ha registrert at mye søppel kommer fra de samme ip-adressene har jeg laget et ip-blokkeringsscript som sjekker ip-adressen til alle som kommer innom hjemmesiden min og det fungerer utmerket. her er koden:

 

<?php 
// Emulate register_globals on
if (!ini_get('register_globals')) {
  $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
  if (isset($_SESSION)) {
      array_unshift($superglobals, $_SESSION);
  }
  foreach ($superglobals as $superglobal) {
      extract($superglobal, EXTR_SKIP);
  }
}

//Dette stopper adresser som har sendt spam
$ip_adresse = getIP();
$banned_ip = array('**** HER LEGGER DU INN UØNSKEDE IP_ADRESSER ****');

foreach ($banned_ip as $ip) {
 if (eregi($ip, $ip_adresse)) die ("<head><title>Access denied</title><link rel=\"stylesheet\" type=\"text/css\" href=\"css/hovedsider.css\"></head><body><h1>Acces denied</h1>You get this message because I have recieved alot of spam from the ip-adress you are using. Therefore I have banned your IP. You will not be possible to acces any pages on my homepage<p>Best regards<br>Einar Herstad-Hansen");
}

//Denne funksjonen sjekker ip-adressen til de som besøker siden
function getIP() {
$ip;
if (getenv("$HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
 else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
 else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
 else $ip = "UNKNOWN";
return $ip;
}
?>

 

Jeg har sett script som henter ip-adresser fra en flatfil også men det har jeg aldri benyttet meg av selv.

Lenke til kommentar
Hvor i min gjestebok kode kopierer jeg denne?? Og må jeg gjøre noe mer etter og kopiert inn denne? evt hva?

7749904[/snapback]

 

for enkelthetens skyld har jeg koden i en standalone fil. på den måten går det ann å bruke samme koden på flere sider uten å måtte kopiere inn samme kode i flere scripts. ved å ha det i en fil som importeres blir det enklere med vedlikehold også.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...