ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

07.03.2008, 01:17
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
Провел на форуме: 482261
Репутация:
58
|
|
Сообщение от Doom123
я пытался и с помощью ковычек исправить не вышло( да и темболее там соит
or die(mysql_error()) что вывело бы ошибку в синтаксисе
у меня была похожая ситуация, но у меня БД ошибку из-за этого не выдавало, а выдавало пустой результат, именно пустой. И прерывание не срабатывало.
|
|
|

07.03.2008, 01:21
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
тогда я всётаки попробую функцией mysql_query а не своей)
|
|
|

07.03.2008, 01:46
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
$result = mysql_qw("SELECT * FROM `items` WHERE `owner_id`='?' AND `item_id`='?' ", ... );
Пиши с апострофами... Мб поможет ^^
|
|
|

07.03.2008, 02:43
|
|
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме: 1469995
Репутация:
589
|
|
Не рекомендуется использовать запросы без оператора WHERE, т.к. с некоторыми базами бывают проблемы:
Т.е. бывают случаи, когда запрос вида
Код:
SELECT * FROM `tableName`
возвращает пустой результат.
Лечится добавлением "WHERE 1" в крнец запроса:
Код:
SELECT * FROM `tableName` WHERE 1
У тебя в коде такой запрос видел, хотя это, наверное, не корень проблемы.
А вообще пройдись дебагом по скрипту у самого заказчика. print_r тебе в помощь
|
|
|

07.03.2008, 20:23
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Как сделать вывод на сайт аторизации в ipb а потом на том же сайте вывести аву юзера и последнее его сообщение?
|
|
|

07.03.2008, 20:41
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
блин, спросил бы ты для smf или phpbb я бы тебе рассказал...а вот для ипб не знаю....ну в теории такая интеграция делается так. Берёшь форму авторизации форума, копируешь на сайт свой ну и путь к обработчику меняешь на правильный. аву...просто смотришь как авы в бд храняться и делаешь скуль-запрос и выводишь....только при интеграциях очень важно с куками разобраться, что будет не очень просто, самая жопа если у тебя форум висит на поддомене..в общем это в теории 
|
|
|

07.03.2008, 20:47
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
лан спасибо я уже вроде как придумал ... ток хз в какой таблицы хранится авик
|
|
|

07.03.2008, 20:53
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме: 1301036
Репутация:
1334
|
|
Блок авторизации для форума IPB
Как установить:
-Создаем в директории block файл b-Login.php со следующим содержанием:
PHP код:
<?php
if (!defined("DNREAD")) exit();
global $setting,$tm,$db,$basepref,$usermain;
$block_cont = "";
if($usermain['logged']==1 && $usermain['uname']!="") {
$block_cont.= "<form action=\"forum/index.php?act=Login&CODE=03&k=\" method=\"post\" target=\"_top\"><input type=\"hidden\" name=\"CookieDate\" value=\"1\">
\n";
$block_cont.= "<table width=\"125\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" align=\"center\">\n";
$block_cont.= "<tr>\n";
$block_cont.= "<td class=\"row1\" align=\"center\">\n";
$block_cont.= "<p align=\"center\">Добро пожаловать!<hr><p align=\"center\"><img border=\"0\" src=\"forum/style_avatars/".$usermain['avatar']."\"></p>\n Уважаемый <b>".$usermain['uname']."</b>!<br/><br>\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "</table>\n";
$block_cont.= "</form>\n";
return $block_cont;
}
else {
$block_cont.= "<table width=\"125\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" align=\"center\">\n";
$block_cont.= "<tr>\n";
$block_cont.= "<td class=\"row1\" align=\"center\">\n";
$block_cont.= "<p align=\"center\">Добро пожаловать!<hr/>Уважаемый <b>Гость</b>!<br/><br/>\n";
$block_cont.= "Для полноценного просмотра сайта, авторизируйтесь: <hr></td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "</table>\n";
$block_cont.= "<form action=\"forum/index.php?act=Login&CODE=01\" method=\"post\">\n";
$block_cont.= "<table width=\"125\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" align=\"center\">\n";
$block_cont.= "<tr>\n";
$block_cont.= "<td class=\"row1\">\n";
$block_cont.= "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" width=\"100%\">\n";
$block_cont.= "<tr>\n";
$block_cont.= "<td colspan=\"2\" align=\"center\">\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "<tr>\n";
$block_cont.= "<td width=\"125\" align=\"right\">\n";
$block_cont.= "<span class=\"sub3\">Логин:</span>\n";
$block_cont.= "</td>\n";
$block_cont.= "<td>\n";
$block_cont.= "<input type=\"text\" name=\"UserName\" class=\"post\" size=\"10\" maxlength=\"40\" value=\"\">\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "<tr>\n";
$block_cont.= "<td align=\"right\" width=\"125\">\n";
$block_cont.= "<span class=\"sub3\">Пароль:</span>\n";
$block_cont.= "</td>\n";
$block_cont.= "<td>\n";
$block_cont.= "<input type=\"password\" class=\"post\" name=\"PassWord\" size=\"10\" maxlength=\"32\">\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "<tr align=\"center\">\n";
$block_cont.= "<td colspan=\"2\">\n";
$block_cont.= "<input type=\"hidden\" name=\"CookieDate\" value=\"1\">
<input onmouseover=\"this.className='rerbutton';\" onmouseout=\"this.className='rbutton';\" class=\"rbutton\" value=\" Войти \" type=\"submit\">\n";
$block_cont.= "\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "<tr align=\"center\">\n";
$block_cont.= "<td colspan=\"2\">\n";
$block_cont.= "<span class=\"smalllink\"><a href=\"forum/index.php?act=Reg&CODE=10\" class=\"sub3\"><hr> Забыли пароль?</a></span>\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "</table>\n";
$block_cont.= "</td>\n";
$block_cont.= "</tr>\n";
$block_cont.= "</table>\n";
$block_cont.= "<table width=\"125\" cellpadding=\"4\" cellspacing=\"1\" border=\"0\" class=\"forumline\" align=\"center\" id=\"table1\">\n";
$block_cont.= "<tr>\n";
$block_cont.= "<th height=\"25\" class=\"smalllink\" nowrap=\"nowrap\">\n";
$block_cont.= "<a class=\"sub3\" href=\"forum/index.php?act=Reg&CODE=00\">Новая\n";
$block_cont.= "регистрация</a><hr></th>\n";
$block_cont.= "</tr>\n";
$block_cont.= "</table>\n";
$block_cont.= "</form>\n";
}
return $block_cont;
?>
Затем файл base/userbase/user.ipb.php заменить этим:
PHP код:
## WWW : www.danneo.com | www.danneo.org ##
## E-MAIL : help@danneo.com ##
## ==================================================== */
if(!defined("DNREAD")) exit();
// Тестировалось на Invision Power Board v2.1.4 - 2.1.6
// UNSET IPB & NEW ARRAY
unset($ipb); $ipb = array();
###################################
# Форум фреймворкс #
###################################
$ipb['dbname'] = 'tbl_old'; // НАЗВАНИЕ БАЗЫ
$ipb['dbpref'] = 'ibf_'; // ПРЕФИКС БАЗЫ
$ipb['lastact'] = 7200; // ВРЕМЯ АКТИВНОСТИ СЕССИИ
$ipb['cookie'] = ''; // ПРЕФИКС КУКИ
###################################
# USER FORM #
###################################
define('FORUMFORM','ipb.form');
// FORUM BASE
$db->select($ipb['dbname'],0);
// FORUM BASE
// APANEL TEST ?
if(defined("DNTEST")){ return $connet = $db->works; }
// APANEL TEST ?
// THIS WORKS ?
if($db->works==1){
// TOTAL
$ipb['time'] = NEWTIME;
$ipb['agent'] = substr($_SERVER['HTTP_USER_AGENT'],0,200);
$ipb['ip'] = substr($_SERVER['REMOTE_ADDR'],0,16);
$ipb['sessid'] = isset($_COOKIE[$ipb['cookie'].'session_id']) ? $_COOKIE[$ipb['cookie'].'session_id'] : '';
$ipb['passhash'] = isset($_COOKIE[$ipb['cookie'].'pass_hash']) ? $_COOKIE[$ipb['cookie'].'pass_hash'] : '';
// TEST
if(!empty($ipb['sessid'])){
$ipbsess = $db->fetchrow($db->query("SELECT * FROM ".$ipb['dbpref']."sessions WHERE id='".addslashes($ipb['sessid'])."'
AND running_time > ".($ipb['time'] - $ipb['lastact'])." AND browser='".addslashes($ipb['agent'])."'"));
} else {
$ipbsess['member_id']=0;
}
// NORMAL
if(!empty($ipb['sessid']) && !empty($ipb['passhash']) && $ipbsess['member_id'] > 0){
// USER
$ipbuser = $db->fetchrow($db->query("SELECT id,name,email,member_login_key
FROM ".$ipb['dbpref']."members WHERE id ='".$ipbsess['member_id']."'"));
$ipphoto = $db->fetchrow($db->query("SELECT avatar_location
FROM ".$ipb['dbpref']."member_extra WHERE id ='".$ipbsess['member_id']."'"));
// ISSET
if($ipbuser['id'] && $ipbuser['name'] && $ipbuser['email'] && $ipbuser['member_login_key']==$ipb['passhash']){
// UPDATE
$db->query("UPDATE ".$ipb['dbpref']."sessions SET browser='".addslashes($ipb['agent'])."',running_time='".$ipb['time']."'
WHERE id = '".addslashes($ipbsess['member_id'])."'");
// DATA
$usermain = array('logged'=>1,
'userid'=>$ipbuser['id'],
'uname'=>$ipbuser['name'],
'umail'=>$ipbuser['email'],
'avatar'=>$ipphoto['avatar_location'],
'regdate'=>'',
'lastvisit'=>'',
'icq'=>'',
'msn'=>'',
'www'=>'',
'blocked'=>'');
// DATA
}
// ISSET
}
// NORMAL
// THIS WORKS ?
}
// RETURN CMS BASE
$db->select($namebase,1);
// RETURN CMS BASE
// UNSET IPB
unset($ipb);
?>
Вывод последних тем с форума IPB
PHP код:
<?php
if(!defined("DNREAD")) exit();
//********************************************************************************
// БЛОК ВЫВОДА ПОСЛЕДНИХ СООБЩЕНИЙ С ФОРУМА
// INVISION POWER BOARD 2.0.x , 2.1.x
// Разработка oleg_matasov
//
// admin@tbilisskaya.com
//********************************************************************************
//======[ОСНОВНЫЕ НАСТРОЙКИ]======
//Префикс таблицы с IPB
$prefix = 'ibf';
//Сколько тем выводить
$num = 10;
//Сколько символов оставить в названии темы после урезания
$topic_num_sym = 40;
//Имя папки с картинками текущего скина
$img_path = '1';
//Формат времени
$time = 'd.m H:i';
//Форумы, которые мы не трогаем
$forumexclude = '11,21';
//Сервер БД на котором висит база форума
$host="localhost";
//Имя БД
$database="tbl_old";
//Логин БД
$username="root";
//Пароль БД
$password="";
//====[Если не знаем PHP - дальше ничего не трогаем :)]=========
$ipb_db = mysql_pconnect($host, $username, $password) or trigger_error(mysql_error(), E_USER_ERROR);
mysql_select_db($database, $ipb_db);
$bt = "<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#dee2e5\">";
$bt.= "<th width=\"60%\" height=\"26\" align=\"center\"><font class=\"storytitle\">Название темы</font></th>";
$bt.= "<th width=\"10%\" height=\"26\" align=\"center\"><font class=\"storytitle\"><b>Автор</b></font></th>";
$bt.= "<th width=\"5%\" height=\"26\" align=\"center\"><font class=\"storytitle\">Ответов</font></th>";
$bt.= "<th width=\"5%\" height=\"26\" align=\"center\"><font class=\"storytitle\">Просмотров</font></th>";
$bt.= "<th width=\"20%\" height=\"26\" align=\"center\" colspan=\"2\"><font class=\"storytitle\"><b>Последний ответ</b></font></th>";
$resultf = mysql_query("SELECT tid, title, description, state, posts, starter_id, last_poster_id, last_post, icon_id, starter_name, last_poster_name, views, topic_hasattach FROM ".$prefix."_topics WHERE (forum_id NOT IN ($forumexclude)) ORDER BY last_post DESC LIMIT $num",$ipb_db) or die(mysql_error());
$row_resultf = mysql_fetch_assoc($resultf);
$totalRows_resultf = mysql_num_rows($resultf);
do {
$topicstrip = $row_resultf['title'];
if (strlen($topicstrip) > $topic_num_sym) {
$topicstrip = substr($topicstrip,0,$topic_num_sym);
$topicstrip = $topicstrip."...";
}
$status = ($row_resultf['state'] == "closed") ? "<img src=\"forum/style_images/$img_path/f_closed.gif\" border=\"0\" alt=\"Тема закрыта\">" : "";
$attach = ($row_resultf['topic_hasattach'] == "1") ? "<img src=\"temp/A-Vector/images/files.gif\" border=\"0\" alt=\"В сообщении есть прикрепленные файлы\"> " : "";
$icon = ($row_resultf['icon_id'] == "0") ? " <img border=\"0\" src=\"temp/Default/images/icon.gif\"> " : "<img src=\"forum/style_images/$img_path/folder_post_icons/icon$icon_id.gif\" border=\"0\" alt=\"Иконка сообщения\"> ";
$last_date = date($time,$row_resultf['last_post']);
$bt.= "<tr>";
$bt.= "<td bgcolor=\"#FFFFFF\">";
$bt.= "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#FFFFFF\"><tr>";
$bt.= "<td>$icon</td>";
$bt.= "<td width=\"100%\"><a title=\"".$row_resultf['description']."\" href=\"forum/index.php?showtopic=".$row_resultf['tid']."&view=getlastpost\">$topicstrip</a></td>";
$bt.= "<td align=\"center\" valign=\"middle\">$attach</td>";
$bt.= "<td align=\"center\" valign=\"middle\">$status</td>";
$bt.= "</tr></table></td>";
$bt.= "<td bgcolor=\"#FFFFFF\" align=\"center\"><a href=\"forum/index.php?showuser=".$row_resultf['starter_id']."\">".$row_resultf['starter_name']."</a></td>";
$bt.= "<td bgcolor=\"#FFFFFF\" align=\"center\">".$row_resultf['posts']."</td>";
$bt.= "<td bgcolor=\"#FFFFFF\" align=\"center\">".$row_resultf['views']."</td>";
$bt.= "<td bgcolor=\"#FFFFFF\" align=\"center\">$last_date</td>";
$bt.= "<td bgcolor=\"#FFFFFF\" align=\"center\"><a href=\"forum/index.php?showuser=".$row_resultf['last_poster_id']."\">".$row_resultf['last_poster_name']."</a></td>";
$bt.= "</tr>";
} while($row_resultf = mysql_fetch_assoc($resultf));
$bt.= "</table>";
mysql_free_result($resultf);
return $bt;
?>
|
|
|

07.03.2008, 23:21
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
Провел на форуме: 482261
Репутация:
58
|
|
fsockopen
Всем привет.
пишу web-бота, для online игры.
не могу заставить сокет адекватно коннектиться.
PHP код:
<?php
$host = "site.ru";
$address = "/game/21";
$user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)";
$port = "80";
echo "Хост: $host\r\n";
echo "Адрес: $host$address\r\n";
echo "Порт: $port\r\n";
echo "User-Agent: $user_agent\r\n";
header("Content-type: text/plain");
$fsite = fsockopen($host,$port,$error_number,$error_description,20);
if ($fsite) {
echo "сокет открыт\r\n";
stream_set_blocking($fsite,FALSE);
fputs($fsite,"GET http://$host/ HTTP/1.1\r\n");
fputs($fsite,"Accept-Language: ru\r\n");
fputs($fsite,"Accept-Encoding: gzip, deflate\r\n");
fputs($fsite,"Content-Type: text/html\r\n");
fputs($fsite,"Content-Length: 181\r\n");
fputs($fsite,"Host: $host\r\n");
fputs($fsite,"User-Agent: $user_agent\r\n");
fputs($fsite,"Proxy-Connection: Keep-Alive\r\n");
fputs($fsite,"\r\n");
while (!feof($fsite)) {
print(fgets($fsite, 4096));
}
fclose($fsite);
}
else {
echo "ошибка\r\n";
echo "Номер: $error_number\r\n";
echo "Описание: $error_description";
}
?>
вот скрипт который пытаюсь запустить.
выдает таймаут по пингу на некоторых сайтах.
например не выдает результата на ya.ru
либо выдает 400 ошибку.
помогите запрос подкорректировать.
Заранее благодарю
|
|
|

07.03.2008, 23:39
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
адрес лучше указывать с www или http:// ну и попробуй замени
fsockopen($host,$port,$error_number,$error_descrip tion,20);
на
fsockopen($host, $port,$errno, $errstr, 30);
и таймаут лучше побольше ставить...лично я всегда ставлю 30
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|