Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.11.2007, 02:01
|
|
Познающий
Регистрация: 06.01.2007
Сообщений: 90
Провел на форуме: 126546
Репутация:
20
|
|
Скрипт банов
Нужна система банов на PHP и MySQL скрипт простой без всяких наворотов штобы я добавлял айпи и причину... ну у каждого юзвера была причина бана своя =) ну всё само собой хранилось в мускул...
|
|
|

13.11.2007, 10:31
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
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 в базе..если есть, то куда-нить пусть идет гулять
|
|
|

13.11.2007, 13:16
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме: 1469995
Репутация:
589
|
|
|
|
|

13.11.2007, 17:49
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
Немного подрегал для тебя скрипт, который сам использовал
http://dump.ru/files/n/n2998640/
|
|
|

14.11.2007, 02:02
|
|
Познающий
Регистрация: 06.01.2007
Сообщений: 90
Провел на форуме: 126546
Репутация:
20
|
|
Сообщение от [Raz0r]
Немного подрегал для тебя скрипт, который сам использовал
http://dump.ru/files/n/n2998640/
скачал этот скрипт... только так и не понял што нуно вставить на страничку так сказать index.php ну штобы юзеры не смогли заходить...
|
|
|

14.11.2007, 02:28
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
>>>Isis
PHP код:
$result = mysql_query($query);
if(mysql_num_rows > 0)
это как?
я так пологаю ты имел ввиду функцию
if(mysql_num_rows($result) > 0)
Последний раз редактировалось nc.STRIEM; 14.11.2007 в 02:38..
|
|
|

14.11.2007, 02:33
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Сообщение от nc.STRIEM
>>>Isis
PHP код:
$result = mysql_query($query);
if(mysql_num_rows > 0)
это как?
Это? эт только по большой накурке +)
|
|
|

14.11.2007, 02:41
|
|
Познающий
Регистрация: 06.01.2007
Сообщений: 90
Провел на форуме: 126546
Репутация:
20
|
|
файл 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>Страницы: ";
$result2= mysql_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."] ";
else echo "<a href=ban.php?start=".(($i-1)*15).">[".$i."]</a> ";
}
if ($res - ( ($i-1) *15)>0) {
if ($start == (($i-1)*15)) echo "[".$i."] ";
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
ну на неё будут заходить юзеры... корчое надо штобы тех кто в бане не допускало =)
|
|
|

14.11.2007, 02:44
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
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);
}
Последний раз редактировалось nc.STRIEM; 14.11.2007 в 02:47..
|
|
|

14.11.2007, 02:50
|
|
Познающий
Регистрация: 06.01.2007
Сообщений: 90
Провел на форуме: 126546
Репутация:
20
|
|
ну так што нужно в индекс написать...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|