Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Скрипт банов (https://forum.antichat.xyz/showthread.php?t=53477)

Cactuz 13.11.2007 02:01

Скрипт банов
 
Нужна система банов на PHP и MySQL скрипт простой без всяких наворотов штобы я добавлял айпи и причину... ну у каждого юзвера была причина бана своя =) ну всё само собой хранилось в мускул...

Isis 13.11.2007 10:31

PHP код:

if($_GET['pass'] == 'pwd' && $_GET['do'] == 'ban')
{
echo 
"<form method='post'><input type='text' name='ip' value='127.0.0.1' /><input type='submit' name='but' value='Ban!' /></form>";
if(isset(
$_POST['but']))
{
if(isset(
$_POST['ip']))
{
$query "INSERT INTO ban('id', 'ip') values(NULL, '$_POST['ip']');";
$result mysql_query($query);
if(
mysql_num_rows 0) echo "IP address".$_POST['ip']." has been banned" or die();
}
}


Вообщем что-то такое, писал в браузере поэтомучто-то не так может быть...
А потом в каком-нить файле проверяй есть ли remote_addr в базе..если есть, то куда-нить пусть идет гулять

Helios 13.11.2007 13:16

Когда-то писал, блокировщик по IP там есть среди прочего
http://forum.antichat.ru/thread40064.html

[Raz0r] 13.11.2007 17:49

Немного подрегал для тебя скрипт, который сам использовал
http://dump.ru/files/n/n2998640/

Cactuz 14.11.2007 02:02

Цитата:

Сообщение от [Raz0r]
Немного подрегал для тебя скрипт, который сам использовал
http://dump.ru/files/n/n2998640/

скачал этот скрипт... только так и не понял што нуно вставить на страничку так сказать index.php ну штобы юзеры не смогли заходить...

nc.STRIEM 14.11.2007 02:28

>>>Isis
PHP код:

$result mysql_query($query);
if(
mysql_num_rows 0

это как?

я так пологаю ты имел ввиду функцию
if(mysql_num_rows($result) > 0)

VDShark 14.11.2007 02:33

Цитата:

Сообщение от nc.STRIEM
>>>Isis
PHP код:

$result mysql_query($query);
if(
mysql_num_rows 0

это как?

Это? эт только по большой накурке +)

Cactuz 14.11.2007 02:41

файл ban.php
PHP код:

<? 
 error_reporting
(0
?>

<?php

include "connect.php";

!empty(
$start) ? @$start = (int) $_GET['start'] : $start 0;
@
$id = (int) $_GET['id'];

if (!empty(
$id))
{
    
mysql_query("DELETE FROM `cac_ban` WHERE id='$id'");
    echo 
"IP адрес разблокирован";
}
elseif (isset(
$_POST['submit']))
{
    
$reason mysql_real_escape_string(htmlspecialchars($_POST['reason']));
    
$ip mysql_real_escape_string(htmlspecialchars($_POST['ip']));
    
mysql_query("INSERT INTO `cac_ban` (ip,reason) VALUES ('$ip','$reason')");
    echo 
"IP адрес <B>$ip</B> заблокирован";

else {
    echo 
"<BR><form action=\"ban.php\" METHOD=\"POST\">IP: <Input Type=\"text\" Name=\"ip\" size=20 value=\"$ip\"> Причина: <Input Type=\"text\" Name=\"reason\" size=65>   <Input Type=\"submit\" Name=\"submit\" value=\"Заблокировать\" size=65></form><BR><BR>";
    
$result=mysql_query("SELECT id,ip,reason FROM cac_ban ORDER BY id DESC LIMIT $start, 15"); 
    if (@
mysql_num_rows($result) != 0) {
    
$x=0;
    echo 
"<table width=100%>";
    while (
$x mysql_num_rows($result)) {
        
$id mysql_result($result$x'id');
        
$ip mysql_result($result$x'ip');        
        
$reason mysql_result($result$x'reason');
        echo 
"<tr><td width=30%>$ip</td><td width=60%>$reason</td><td width=10%><a href=ban.php?id=$id>[Удалить]</a></td>";
        
$x++;
    }
    echo 
"</table>";
        echo 
"<HR>Страницы: ";
        
$result2mysql_query("SELECT count(*) FROM cac_ban");
        
$res mysql_result($result2,0);
        
$max_pages=round($res/15);
        for(
$i=1$i<=$max_pages$i++) {
            if (
$start == (($i-1)*15))  echo "[".$i."]&nbsp;";
            else echo 
"<a href=ban.php?start=".(($i-1)*15).">[".$i."]</a>&nbsp;";
        }
        if (
$res - (  ($i-1) *15)>0) {
            if (
$start == (($i-1)*15))  echo "[".$i."]&nbsp;";
            else echo 
"<a href=ban.php?start=".(($i-1)*15).">[".$i."]</a>";
        }
    }
}
?>

файл connect.php
PHP код:

<?
  $dbhost     
'localhost'// mysql host
  
$dbname     'dvig'// mysql DB name
  
$dbuname    "root"// mysql username
  
$dbpass     ""// mysql userpass
?>


<?
$db 
mysql_connect("$dbhost""$dbuname""$dbpass") or die("Ошибка при подключении");

if(!
$db) die("no db");
if(!
mysql_select_db("$dbname",$db)) die(mysql_error());
if(!
get_magic_quotes_gpc())
{
  
$_GET array_map('mysql_real_escape_string'$_GET); 
  
$_POST array_map('mysql_real_escape_string'$_POST); 
  
$_COOKIE array_map('mysql_real_escape_string'$_COOKIE);
}
else
{  
   
$_GET array_map('stripslashes'$_GET); 
   
$_POST array_map('stripslashes'$_POST); 
   
$_COOKIE array_map('stripslashes'$_COOKIE);
   
$_GET array_map('mysql_real_escape_string'$_GET); 
   
$_POST array_map('mysql_real_escape_string'$_POST); 
   
$_COOKIE array_map('mysql_real_escape_string'$_COOKIE);
}

$ip mysql_query("SELECT * FROM `cac_ban` WHERE `ip` = '".mysql_escape_string(htmlspecialchars($_SERVER['REMOTE_ADDR']))."'");
if (@
mysql_num_rows($ip) != 0) die("Permission denied");
?>

Незнаю што нужно в писать в файл index.php
ну на неё будут заходить юзеры... корчое надо штобы тех кто в бане не допускало =)

nc.STRIEM 14.11.2007 02:44

Цитата:

PHP код:

if(!get_magic_quotes_gpc())
{
  
$_GET array_map('mysql_real_escape_string'$_GET); 
  
$_POST array_map('mysql_real_escape_string'$_POST); 
  
$_COOKIE array_map('mysql_real_escape_string'$_COOKIE);
}
else
{  
   
$_GET array_map('stripslashes'$_GET); 
   
$_POST array_map('stripslashes'$_POST); 
   
$_COOKIE array_map('stripslashes'$_COOKIE);
   
$_GET array_map('mysql_real_escape_string'$_GET); 
   
$_POST array_map('mysql_real_escape_string'$_POST); 
   
$_COOKIE array_map('mysql_real_escape_string'$_COOKIE);



Любитель извращений??

мой вариант:
PHP код:

if(!get_magic_quotes_gpc())
    {
        foreach(
$_GET as $name => $val)
            
$_GET[$name] = mysql_escape_string($val);
        
        foreach(
$_POST as $name => $val)
            
$_POST[$name] = mysql_escape_string($val);
        
        foreach(
$_COOKIE as $name => $val)
            
$_COOKIE[$name] = mysql_escape_string($val);    
    
    } 


Cactuz 14.11.2007 02:50

ну так што нужно в индекс написать...


Время: 19:43