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

11.02.2009, 17:32
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
Byrger, тебе же в скрипте написано что мол
This PHP script has been encoded using the excellent eAccelerator Optimizer, to run it you must install <a href=\"http://eaccelerator.sourceforge.net/\">eAccelerator or the eLoader</a>
попробуй туда сходить, скачать прогу эту.
Sindicat, знач берешь его айпишник, и вписываешь в БД. так же туда же пишешь время когда чел был забанен. Потом в каком нибудь скрипте который например запускаеться с помощью cron'a каждые 5 мин. делать проверку. если 15 мин прошло то удалять чела из БД и соответственно уже не банить.
Маркиза, телепатов нет. что за скрипт. что за код. и проч... подробнее.
Gaus, есть скрипт который два таких файла склеивает в один и там уже убирает повторки. если надо пиши в ПМ. скину тебе.
|
|
|
вот вся страница ошибку пишет в 108 строке |

11.02.2009, 17:37
|
|
Новичок
Регистрация: 11.02.2009
Сообщений: 21
Провел на форуме: 36983
Репутация:
0
|
|
вот вся страница ошибку пишет в 108 строке
<?php
if (!defined('IN_ADMIN')) {
die();
}
require_once(dirname(__FILE__) . '/base/Constants.php');
require_once(dirname(__FILE__) . '/base/Template.php');
require_once(dirname(__FILE__) . '/base/TemplateCache.php');
$action = $_GET['action'];
$globalTemplate = new Template('index');
$output = '';
switch ($action) {
/**
* ----------------------
*
* hf,jnf c ajnjuhfabzvb
*
* ----------------------
*/
case 'add_pics':
case 'edit_pic':
$workId = intval($_GET['work']);
$id = intval($_GET['id']);
require_once(dirname(__FILE__) . '/objects/Work.php');
$work = Work::getById($workId);
if (!$work) {
$output .= <<<EOF
<h1>Работы с указанным идентификатРром не существует.</h1>
EOF;
break;
}
require_once(dirname(__FILE__) . '/objects/Picture.php');
if ($id == 0
&& isset($_POST['id'])
) {
$id = intval($_POST['id']);
}
if ($id > 0) {
$pic = Picture::getById($id);
$title = 'Редактировани µ';
} else {
$pic = Picture::create();
$title = 'Р‛обавление РЅРѕРІРѕРіРѕ';
}
if (!isset($_POST['do'])) {
$output .= <<<EOF
<h1>{$title} изображения в работу [{$work->getName()}]</h1>
EOF;
if ($id > 0) {
$output .= <<<EOF
<form method="post" action="?action={$action}&work={$work->getId()}">
<img src="../{$pic->getWebPictureThumbnail()}" />
EOF;
} else {
$output .= <<<EOF
<form enctype="multipart/form-data" method="post" action="?action={$action}&work={$work->getId()}">
<label for="image">Файл фотографии:</label>
<input type="file" name="image" id="image" />
EOF;
}
$output .= <<<EOF
<br />
<br />
<label for="description">Описание :</label>
<input type="text" name="description" id="description" value="{$pic->getDescription()}" />
<input type="hidden" name="id" value="{$pic->getId()}" />
<input type="hidden" name="work" value="{$work->getId()}" />
<input type="hidden" name="do" value="do" />
<br />
<br />
<input type="submit" value="готово" />
</form>
EOF;
} else {
$pic->setWork($work->getId());
if (isset($_FILES['image'])) {
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($work->getId());
$result = DB::selectQuery('SELECT COUNT(*) as pcount FROM w_pictures WHERE work_id = ' . $work->getId());
$row = $result->fetchRow();
$num = $row['pcount'];
$pic->setPhotoFromForm($_FILES['image'], $group->getName() . ' ' . $work->getName() . ' ' . $num++);
}
$description = htmlentities($_POST['description'], ENT_QUOTES, 'utf-8');
$pic->setDescription($description);
if ($pic->save()) {
TemplateCache::drop(Constants::CACHE_WORK . $work->getId());
TemplateCache::drop(Constants::CACHE_PICTURE . $pic->getId());
$output .= <<<EOF
<h1>{$title} изображения РІ работу [{$work->getName()}] СѓСЃРїРµС?РЅРѕ заверС?ено</h1>
<p>Вернуться в <a href="?action=pictures&work={$work->getId()}">список фотографий</a>.</p>
EOF;
}
}
break;
case 'del_pic':
$id = intval($_GET['id']);
$workId = intval($_GET['work']);
require_once(dirname(__FILE__) . '/objects/Picture.php');
$pic = Picture::getById($id);
if (!$pic) {
$output .= <<<EOF
<h1>Р?зображения СЃ таким идентификатРром РЅРµ существует.</h1>
EOF;
break;
}
if ($pic->delete()) {
TemplateCache::drop(Constants::CACHE_WORK . $workId);
TemplateCache::drop(Constants::CACHE_PICTURE . $pic->getId());
$output .= <<<EOF
<h1>Р?зображение СѓСЃРїРµС?РЅРѕ удалено.</h1>
<p>Вернуться в <a href="?action=pictures&work={$workId}">спРсок фотографий работы</a>.</p>
EOF;
}
break;
case 'pictures':
$groupId = intval($_GET['group']);
$workId = intval($_GET['work']);
require_once(dirname(__FILE__) . '/objects/Work.php');
$work = Work::getById($workId);
if (!$work) {
$output .= <<<EOF
<h1>Работы с указанным идентификатРром нет.</h1>
<p>Вернуться в <a href="?action=works&group={$groupId}">спи сок работ группы</a>.</p>
EOF;
break;
}
$output .= <<<EOF
<h1>Список фотографий для работы [{$work->getName()}]</h1>
<hr />
EOF;
require_once(dirname(__FILE__) . '/objects/Picture.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$pics = new DBCollection(Picture::create(), 'WHERE work_id = ' . $workId);
foreach($pics->getList() as $pic) {
$output .= <<<EOF
<p>
<a href="?action=edit_pic&id={$pic->getId()}&work={$workId}" title="редактировать"> v </a>
<a href="?action=del_pic&id={$pic->getId()}&work={$workId}" title="удалить" onclick="return confirm('Точно?');"> x </a>
|
<img src="../{$pic->getWebPictureThumbnail()}" />
</p>
EOF;
}
if ($pics->getCount() == 0) {
$output .= <<<EOF
<p>Пока пусто</p>
EOF;
}
$output .= <<<EOF
<hr />
<p>
<a href="?action=add_pics&work={$workId}">Р‛РѕР± авить</a> |
<a href="?action=works&group={$groupId}">Р’РµС РЅСѓС‚СЊСЃСЏ РІ СЃРїРёСЃРѕРє работ</a>
</p>
EOF;
break;
/**
* ----------------------
*
* РАБОТА РЎ РАБОТАМР?
*
* ----------------------
*/
case 'del_work':
$id = intval($_GET['id']);
$groupId = intval($_GET['group']);
require_once(dirname(__FILE__) . '/objects/Picture.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$pics = new DBCollection(Picture::create(), 'WHERE work_id = ' . $id);
if ($pics->getCount() > 0) {
$output .= <<<EOF
<h1>В работе существуют фотографии. Сначала удалите их.</h1>
EOF;
} else {
require_once(dirname(__FILE__) . '/objects/Work.php');
$work = Work::getById($id);
if (!$work) {
$output .= <<<EOF
<h1>Работы с указанным идентификатРром не существует.</h1>
EOF;
} else {
if ($work->delete()) {
TemplateCache::drop(Constants::CACHE_WORK . $work->getId());
TemplateCache::drop(Constants::CACHE_INDEX);
$output .= <<<EOF
<h1>Работа [{$work->getName()}] СѓСЃРїРµС?РЅРѕ удалена.</h1>
<p>Вернуться в <a href="?action=works&group={$groupId}">спи сок работ группы</a>.</p>
EOF;
}
}
}
break;
case 'add_work':
case 'edit_work':
$id = intval($_GET['id']);
$group_id = intval($_GET['group']);
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($group_id);
if (!$group) {
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїС‹ СЃ указанным идентификатРром РЅРµ существует.</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
break;
}
if ($id == 0
&& isset($_POST['id'])
) {
$id = intval($_POST['id']);
}
require_once(dirname(__FILE__) . '/objects/Work.php');
if ($id > 0) {
$work = Work::getById($id);
$title = 'Редактировани µ';
} else {
$work = Work::create();
$title = 'Р‛обавление РЅРѕРІРѕР№';
}
if (!isset($_POST['do'])) {
$output .= <<<EOF
<h1>{$title} работы (группа [{$group->getName()}])</h1>
<form method="post" action="?action=edit_work&group={$group->getId()}">
<label for="name">Название:</label>
<input type="text" name="name" id="name" size="50" value="{$work->getName()}" />
<br />
<label for="link">Ссылка:</label>
<input type="text" name="link" id="link" size="60" value="{$work->getLink()}" />
<br />
<label for="description">Описание :</label>
<textarea id="description" name="description" cols="70" rows="5">{$work->getDescription()}</textarea>
<input type="hidden" name="id" value="{$work->getId()}" />
<input type="hidden" name="do" value="do" />
<br />
<br />
<input type="submit" value="готово" />
</form>
EOF;
} else {
$name = htmlentities($_POST['name'], ENT_QUOTES, 'utf-8');
$description = htmlentities($_POST['description'], ENT_QUOTES, 'utf-8');
$link = $_POST['link'];
$work->setName($name);
if (!$work->getDate()) {
$work->setDate(time());
}
$work->setLink($link);
$work->setDescription($description);
$work->setGroup($group->getId());
if ($work->save()) {
TemplateCache::drop(Constants::CACHE_INDEX);
TemplateCache::drop(Constants::CACHE_WORK . $group->getId());
$output .= <<<EOF
<h1>{$title} работы [{$work->getName()}] РІ РіСЂСѓРїРїРµ [{$group->getName()}] СѓСЃРїРµС?РЅРѕ заверС?ено</h1>
<p>Вернуться в <a href="?action=works&group={$group->getId()}">список работ группы</a>.</p>
EOF;
}
}
break;
case 'works':
$groupId = intval($_GET['group']);
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($groupId);
if (!$group) {
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїС‹ СЃ указанным идентификатРром нет.</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
break;
}
$output .= <<<EOF
<h1>Список работ в группе [{$group->getName()}]</h1>
<hr />
EOF;
require_once(dirname(__FILE__) . '/objects/Work.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$works = new DBCollection(Work::create(), 'WHERE group_id = ' . $groupId);
foreach($works->getList() as $work) {
$output .= <<<EOF
<p>
<a href="?action=edit_work&id={$work->getId()}&group={$group->getId()}" title="редактировать"> v </a>
<a href="?action=del_work&id={$work->getId()}&group={$group->getId()}" title="удалить" onclick="return confirm('Точно?');"> x </a>
|
<a href="?action=pictures&work={$work->getId()}&group={$group->getId()}">{$work->getName()}</a>
</p>
EOF;
}
if ($works->getCount() == 0) {
$output .= <<<EOF
<p>Пока пусто</p>
EOF;
}
$output .= <<<EOF
<hr />
<p>
<a href="?action=add_work&group={$group->getId()}">Р‛обавить</a> |
<a href="index.php">Р’РµСЂРЅСѓС‚СЊС СЏ РІ СЃРїРёСЃРѕРє РіСЂСѓРїРї</a>
</p>
EOF;
break;
/**
* ----------------------
*
* РАБОТА РЎ Р‛Р РЈРџРџРђРњР?
*
* ----------------------
*/
case 'del_group':
$id = intval($_GET['id']);
require_once(dirname(__FILE__) . '/objects/Work.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$works = new DBCollection(Work::create(), 'WHERE group_id = ' . $id);
if ($works->getCount() > 0) {
$output .= <<<EOF
<h1>В группе существуют работы. Сначала удалите их.</h1>
EOF;
} else {
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($id);
if (!$group) {
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїС‹ СЃ указанным идентификатРром РЅРµ существует.</h1>
EOF;
} else {
if ($group->delete()) {
TemplateCache::drop(Constants::CACHE_INDEX);
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїР° [{$group->getName()}] СѓСЃРїРµС?РЅРѕ удалена.</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
}
}
}
break;
case 'add_group':
case 'edit_group':
$id = intval($_GET['id']);
if ($id == 0
&& isset($_POST['id'])
) {
$id = intval($_POST['id']);
}
require_once(dirname(__FILE__) . '/objects/Group.php');
if ($id > 0) {
$group = Group::getById($id);
$title = 'Редактировани µ';
} else {
$group = Group::create();
$title = 'Р‛обавление РЅРѕРІРѕР№';
}
if (!isset($_POST['do'])) {
$output .= <<<EOF
<h1>{$title} РіСЂСѓРїРїС‹</h1>
<form method="post" action="?action=edit_group">
<label for="name">Название:</label>
<input type="text" name="name" id="name" value="{$group->getName()}" /><br />
<label for="year">Р‛ата:</label>
<input type="text" name="day" id="day" size="2" value="{$group->getDay()}" />.<input type="text" name="month" id="month" size="2" value="{$group->getMonth()}" />.<input type="text" name="year" id="year" size="4" value="{$group->getYear()}" />
<input type="hidden" name="id" value="{$group->getId()}" />
<input type="hidden" name="do" value="do" />
<br />
<br />
<input type="submit" value="готово" />
</form>
EOF;
} else {
$name = htmlentities($_POST['name'], ENT_QUOTES, 'utf-8');
$group->setName($name);
$group->setYear(intval($_POST['year']));
$group->setMonth(intval($_POST['month']));
$group->setDay(intval($_POST['day']));
if ($group->save()) {
TemplateCache::drop(Constants::CACHE_INDEX);
$output .= <<<EOF
<h1>{$title} РіСЂСѓРїРїС‹ [{$group->getName()}] СѓСЃРїРµС?РЅРѕ заверС?ено</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
}
}
break;
default:
require_once(dirname(__FILE__) . '/objects/Group.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$groups = new DBCollection(Group::create());
$output .= <<<EOF
<h1>РЎРїРёСЃРѕРє РіСЂСѓРїРї</h1>
<hr />
EOF;
while ($group = $groups->shift()) {
$output .= <<<EOF
<p>
<a href="?action=edit_group&id={$group->getId()}" title="редактировать"> v </a>
<a href="?action=del_group&id={$group->getId()}" title="удалить" onclick="return confirm('Точно?');"> x </a>
|
<a href="?action=works&group={$group->getId()}">{$group->getName()}</a>
</p>
EOF;
}
$output .= <<<EOF
<hr />
<p>
<a href="?action=add_group">Р‛РѕР±Р°РІРёС ‚СЊ</a>
</p>
EOF;
break;
}
|
|
|

11.02.2009, 17:45
|
|
Новичок
Регистрация: 08.02.2009
Сообщений: 17
Провел на форуме: 90355
Репутация:
0
|
|
какую. функцию надо использовать чтобы вычислить IP интеренет ресурса ? ну например вводишь сайт в строку, а оно тебе показывает ип...
Поможет кто?
|
|
|

11.02.2009, 17:45
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
У меня вот ещё какой есть вопрос....
Узер отправляет запрос по которому в БД заносятся поля...1 из которых Time (сделанное функцией time())
Как сделать так чтоб через 60секунд после создание в БД записи, включился PHP скрипт который долее выполнит нужную работу?
Только вот проблема....я бы понимаю юзер нажал на кнопку и пошло проверка на то, что прошло ли 60 сек.... А тут как-то надо вызвать без вмешательства пользователя.
|
|
|

11.02.2009, 17:48
|
|
Участник форума
Регистрация: 08.02.2009
Сообщений: 196
Провел на форуме: 1420275
Репутация:
127
|
|
blaga, ты наверно несовсем понял что я хочу)
|
|
|

11.02.2009, 17:49
|
|
Новичок
Регистрация: 14.11.2008
Сообщений: 12
Провел на форуме: 42624
Репутация:
10
|
|
blaga, спасибо, только не все понятно как делается,
вычеслил айпи
PHP код:
function ip() {
if(getenv("HTTP_CLIENT_IP") and preg_match("/^[0-9\.]*?[0-9\.]+$/is",getenv("HTTP_CLIENT_IP")) and getenv("HTTP_CLIENT_IP")!='127.0.0.1') {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR") and preg_match("/^[0-9\.]*?[0-9\.]+$/is",getenv("HTTP_X_FORWARDED_FOR")) and getenv("HTTP_X_FORWARDED_FOR")!='127.0.0.1') {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
$add_ip=ip();
занес эго в базу
PHP код:
$date = date("mdHis");
$link = mysql_connect("localhost","root","root");
$db = @mysql_select_db("antidos",$link);
if(!$link or !$db) die ('Ошибка поключения');
$ban = mysql_query("insert into black (ip,date) values ('$ad_ip','$date')");
а как теперь сверить текущие время и которое в базе ?
|
|
|

11.02.2009, 17:51
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
маркиза
а что тегом [php] не учили в детстве пользоваться?
а по сути хз на что он там ругаеться где то там на ООП ругаеться.
Последний раз редактировалось blaga; 11.02.2009 в 17:55..
|
|
|

11.02.2009, 17:54
|
|
Новичок
Регистрация: 11.02.2009
Сообщений: 21
Провел на форуме: 36983
Репутация:
0
|
|
Учили, просто не могла вставить как не пыталась.Сорьки.
Значит не знаете на что ругаеться?
|
|
|

11.02.2009, 18:02
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
Carbon1, WHOIS. насколько я знаю функции такой вроде нету. или просто я не встречал. а вообще отправляешь куда нить через сокеты например запрос, а потом парсишь ответ.
Byrger, есть такая функция sleep(60) поставьте ее после того как данные добавляються в БД. а после этой строки пишите то что нужно будет сделать. Так скрипт выолнит запрос к БД, заснет на 60 сек и потом продолжит работу с тем что у вас там нужно.
Gaus, я понял но у меня нет такого скрипта которогы ты хочешь. только тот о котором я написал.
Sindicat, лучше вводи время функцией time() он выдает кол-во секунд с какого там года. А потом в другом скрипте что в кроне будет ты просто SELECT ом выводи все значения того столбца и сравнивай с новым time() если по секундам прошло столько то времени то удаляй из БД запись. разница = время в бд - время из вызванного скрипта.
Маркиза, я нет. погодите немного. возможно вам кто то ответит.... кто более компетентнее меня.
|
|
|

11.02.2009, 18:09
|
|
Участник форума
Регистрация: 06.11.2007
Сообщений: 143
Провел на форуме: 350782
Репутация:
81
|
|
На серверной машине стоит nix, следующий код работать отказывается
<?php
header ("Content-type: image/gif");
$text=$_GET['text'];
// Name the font to be used (note the lack of the .ttf extension)
$font = 'tahoma.ttf';
$im = imagecreate (135, 12);
$white = imagecolorallocate ($im, 255, 255, 255);
$black = imagecolorallocate ($im, 0, 0, 0);
imagettftext ($im, 9, 0, 0, 9, $black,$font, substr($text,0,20));
$img=imagerotate ($im, 90,0);
imagegif ($img);
imagedestroy ($im);
imagedestroy ($img);
?>
думаю дело со шрифтом. Что делать в такой ситуации
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|