Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Banowanie IP
urbi
post 15.07.2003, 14:33:53
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


Mam taki formularz :

<FORM ACTION="ban.php" METHOD="GET">
<INPUT NAME="ip"><br>
<INPUT TYPE="submit" VALUE="DODAJ">
</FORM>


I mam taki skrypt w php:


[php:1:d5864a28ac]<?php
<?
$tab = file('ban');
if (in_array($_SERVER['REMOTE_ADDR'], $tab))
{
header("location: http://www.wp.pl");
}
$plik=fopen('ban', 'a+');
fwrite($plik,$_GET['ip'] . "rn");
fclose($plik);
include('ban');
?>
?>[/php:1:d5864a28ac]

I jak zrobić jesli juz jest takie IP w bazie to niech niedodaje??
Go to the top of the page
+Quote Post
scanner
post 15.07.2003, 14:48:07
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




1. Załaduj plik do tablicy
2. spradz [manual:16164e4be9]in_array()[/manual:16164e4be9]
3. zrób [manual:16164e4be9]unset()[/manual:16164e4be9] tablicy
4. jeśli (2) to dodaj do pliku.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
urbi
post 15.07.2003, 16:00:59
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


czyli jak powinien wygladac caly skrypt??
Nie znam sie za dobrze czytalem z manualu ale nic z tego nie wiem jak zrobic poniewaz ucze sie php od 2 dni prosze o clly skrypt
Go to the top of the page
+Quote Post
scanner
post 15.07.2003, 17:33:54
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Przecież praktycznie masz już wszystko napisane w Twoim listingu.
Poświęć na naukę następne dwa dni i już.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
uboottd
post 15.07.2003, 22:01:25
Post #5





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


A co z w3cachami ?
Go to the top of the page
+Quote Post
urbi
post 15.07.2003, 22:13:56
Post #6





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


Mam taki skrypt juz:
[php:1:612225c2a4]<?php
$tab = file('ban');
if (in_array($_SERVER['REMOTE_ADDR'], $tab))
{
header("location: http://www.wp.pl");
}
if (!in_array($_GET['ip'], $tab))
{
$file = fopen("ban", "a+");
fwrite($file, $_GET['ip']."rn");
fclose($file);
}
?>[/php:1:612225c2a4]I jak zrobic by po wpisaniu takiego samego IP w formularzu co dodalem wczesniej nie dodawalo tego IP jesczez raz co mam zle?questionmark.gif
Go to the top of the page
+Quote Post
konrad_vme
post 15.07.2003, 22:39:00
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.04.2002
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


wystarczy warunek przestawić klamrę warunku IF laugh.gif
[php:1:86ac396491]
<?
$tab = file('ban');
if (in_array($_SERVER['REMOTE_ADDR'], $tab)){
header("location: http://www.wp.pl");
$plik=fopen('ban', 'a+');
fwrite($plik,$_GET['ip'] . "rn");
fclose($plik);
}
include('ban');
?> [/php:1:86ac396491]


--------------------
revolution, the only solution
Go to the top of the page
+Quote Post
urbi
post 15.07.2003, 23:03:07
Post #8





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


nadal nie dziala wiec co zrobic??
Go to the top of the page
+Quote Post
konrad_vme
post 15.07.2003, 23:10:41
Post #9





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.04.2002
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


a jaki dostajesz błąd?


--------------------
revolution, the only solution
Go to the top of the page
+Quote Post
urbi
post 15.07.2003, 23:15:43
Post #10





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


bledu nie ma tylko poprostu nawet niedodaje zadnego adresu IP do pliku.


Wiec jak to zrobic??
Go to the top of the page
+Quote Post
konrad_vme
post 15.07.2003, 23:21:39
Post #11





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.04.2002
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


oczywiście, ze nie dodaje, ponieważ jeżeli już raz uruchomiłeś skrypt, to drugi raz nie wpisze znowu twojego IP na listę, chyba o to ci chodziło smile.gif


--------------------
revolution, the only solution
Go to the top of the page
+Quote Post
urbi
post 15.07.2003, 23:33:46
Post #12





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


Nie o to chodzilo mi o to ze mam formularz i nieraz chce dodac jakas osobe ktora chce by nie weszla na moja www to teraz robie sobie skrypt ze podaje adres IP i naciskam na przycisk dodaj i teraz chce by dodalo tan adres do pliku 'ban' lecz nieraz przez przypadek dwa razy mogl bym ten sam adres wpisac i chce przerobic ten kod zeby nie mozna bylo wiecej razy jak raz podawac tego samego IP.

I mam taki skrypt:


<?
$tab = file('ban');

if (in_array($_SERVER['REMOTE_ADDR'], $tab))
{
header("location: http://www.wp.pl");
}

if (!in_array($_GET['ip'], $tab))
{
$file = fopen("ban", "a+");
fwrite($file, $_GET['ip']."rn");
fclose($file);
}
?>


Jak powinien wygladac poprawnie by dzialal wedlug moich wskazowek??
Go to the top of the page
+Quote Post
KaMeLeOn
post 15.07.2003, 23:43:00
Post #13





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Prosze używać BBcode...
[php:1:712138e16c]<?php
$tab = file('ban');
for($i=0;$i<count($tab);$i++)
{
$tab[$i] = trim($tab[$i]);
}
if( !(in_array($_GET['ip'], $tab)) )
{
$file = fopen('ban', 'a');
fwrite($file, $_GET['ip'] . "rn");
fclose($file);
}
unset($tab);
?>[/php:1:712138e16c]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
urbi
post 16.07.2003, 09:01:47
Post #14





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


Nadal cos nie gra bo jak dodam wiecej IP to wtedy juz nie dziala czemu??

Mam takie kody:


[php:1:cea610a90c]w pliku: ban1.php
<? include('ban.php'); ?>
<FORM ACTION="ban.php" METHOD="GET">
<INPUT NAME="ip"><br>
<INPUT TYPE="submit" VALUE="DODAJ">
</FORM>[/php:1:cea610a90c][php:1:cea610a90c]
<?
// ban.php

$tab = file('ban');

if (in_array($_SERVER['REMOTE_ADDR'], $tab))
{
header("location: http://www.wp.pl");
}

for($i=0;$i<count($tab);$i++)
{
$tab[$i] = trim($tab[$i]);
}
if( !(in_array($_GET['ip'], $tab)) )
{
$file = fopen('ban', 'a');
fwrite($file, $_GET['ip'] . "rn");
fclose($file);
}
unset($tab);
?>
[/php:1:cea610a90c]
I w pliku ban czyli w tym pliku z lisat IP
Cytat
217.97.185.131
217.98.134.45
Wydaje mi sie ze nie dziala jak jest wpisane pare IP albo jedna linijka przerwy czemu tak jest?questionmark.gif

___
[scanner] Tak się używa BBCode
Go to the top of the page
+Quote Post
scanner
post 16.07.2003, 09:14:08
Post #15





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zaczniesz do cholery stosowac prawidłowe BBCode, czy nie?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
urbi
post 16.07.2003, 09:25:53
Post #16





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


czytalem artykul o BBCode ale nie kapuje co mam zrobic z tym skryptem by dzialal??
Go to the top of the page
+Quote Post
urbi
post 16.07.2003, 13:51:13
Post #17





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Zduńska Wola

Ostrzeżenie: (0%)
-----


A chodzi mi dokladnie pod tym w zgledem ze zle dziala ze jesli nie wpisze zadnego Ip i dodam to skrypt doda pusta linie do pliku textowego lecz jeslichce by natsepnie odczytalo adresy IP to jakos nie chce czytac i wogole jesli dobrze zauwazylem to zawsze tylko 1 linijke IP czyta a reszty nie czemu??
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2025 - 23:15