VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Разработчик приложения под андроид устанавливает скрипт для связи форума с приложением.
вся суть - заливка одного файла в корень форума. http://форум.ru/android.php
при открытии данной страницы выползает ошибка:
Quote:
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Fatal error: Unknown: Failed opening required '/var/www/форум.ru/talk/android.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
разраб не знает в чем проблема.
прошу вашей помощи совета как решить и что вообще за проблемаю
Ну дак почему файл android.php находится в корне, когда приложение пытается его искать в папке talk? Или у вас на сервере два файла android.php и тот что в папке talk должен инклудиться в android.php в корне?)
@Liked
Специалист
Join Date: Dec 2012
Posts: 1,158
Версия vB: 4.2.х
Пол:
Reputation:
Professional 491
Репутация в разделе: 376
0
@ka81, права 755 попробуй поставить
ka81
Продвинутый
Join Date: Dec 2005
Posts: 684
Версия vB: 4.1.8
Reputation:
Опытный 41
Репутация в разделе: 36
0
Quote:
Originally Posted by Sellrion
Ну дак почему файл android.php находится в корне, когда приложение пытается его искать в папке talk? Или у вас на сервере два файла android.php и тот что в папке talk должен инклудиться в android.php в корне?)
на сервере все файлы форума в папке ТАЛК, но админ сервера сделал редирект и форум доступен сразу по домену (без папки ТАЛК).
скажите пжлст что и где изменить?
очень благодарю..
ka81 добавил 27.08.2013 в 22:37
Quote:
Originally Posted by Liked
@ka81, права 755 попробуй поставить
при таких правах просто пустая страница при открытии.
ka81 добавил 27.08.2013 в 22:40
вот код файла:
Code:
<?php
$do = getValue("do");
if ($do == "getForums") {
$parentid = getValue("parentid");
$sql="";
if($parentid!="88"){
$sql = "SELECT `forumid`,`title_clean`,`childlist`
FROM `vb3_forum` WHERE `parentid`='$parentid' ORDER BY `displayorder` ASC;";
}else{
"SELECT `forumid`,`title_clean`,`childlist`
FROM `vb3_forum` WHERE `parentid`='$parentid' ORDER BY `title` ASC;";
}
connect();
$answ = mysql_query($sql);
echo "<go>\n";
while ($row = mysql_fetch_row($answ)) {
echo "<list>\n";
echo "<id>$row[0]</id>\n";
echo "<title>$row[1]</title>\n";
echo "<childs>$row[2]</childs>\n";
echo "<type>forum</type>\n";
echo "</list>";
}
echo "</go>\n";
mysql_close();
} else if ($do == "getThreads") {
$forumid = getValue("forumid");
$n = 0;
$n = getValue("n");
if ($n == "") {
$n = 0;
}
connect();
$n1 = $n + 30;
$n1 = $n + 30;
$sql="";
if($forumid!="88"){
$sql = "SELECT `threadid`,`title`,`lastposter`,`lastpost`
FROM `vb3_thread` WHERE `forumid`='$forumid' and `visible`='1' ORDER BY `vb3_thread`.`lastpost` DESC
LIMIT $n , $n1;";}else{
$sql = "SELECT `threadid`,`title`,`lastposter`,`lastpost`
FROM `vb3_thread` WHERE `forumid`='$forumid' and `visible`='1' ORDER BY `title` ASC
LIMIT $n , $n1;";
}
$answ = mysql_query($sql);
echo "<go>\n";
while ($row = mysql_fetch_row($answ)) {
echo "<list>\n";
echo "<id>$row[0]</id>\n";
echo "<title>$row[1]</title>\n";
echo "<author>$row[2]</author>\n";
echo "<date>$row[3]</date>\n";
echo "<type>thread</type>\n";
echo "</list>\n";
}
echo "</go>";
mysql_close();
}else if ($do == "getSearch") {
$search = getValue("search");
$n = 0;
$n = getValue("n");
if ($n == "") {
$n = 0;
}
connect();
$n1 = $n + 30;
$sql = "SELECT `postid`,`title`,`username`,`pagetext`,`dateline`,`threadid`
FROM `vb3_post` WHERE `pagetext` LIKE '%$search%' AND `visible`='1'
ORDER BY `dateline` DESC
LIMIT $n , $n1;";
$answ = mysql_query($sql);
echo "<go>\n";
while ($row = mysql_fetch_row($answ)) {
echo "<list>\n";
echo "<id>$row[0]</id>\n";
echo "<pid>$row[5]</pid>\n";
echo "<title>$row[1]</title>\n";
echo "<author>$row[2]</author>\n";
echo "<content>" . ($row[3]) . "</content>\n";
/*вложения*/
$sqla="SELECT `attachmentid`,`filename` FROM `vb3_attachment` where `contentid`='$row[0]';";
$answa=mysql_query($sqla);
echo "<attach>";
while ($row4 = mysql_fetch_row($answa)) {
echo "[at=$row4[0]]$row4[1][/at]";
}
echo "</attach>";
/*вложения*/
echo "<date>$row[4]</date>\n";
echo "<type>post</type>\n";
echo "</list>\n";
}
echo "</go>";
mysql_close();
} else if ($do == "getPosts") {
$threadid = getValue("threadid");
$n = 0;
$n = getValue("n");
if ($n == "") {
$n = 0;
}
connect();
$n1 = $n + 30;
$sql = "SELECT `postid`,`title`,`username`,`pagetext`,`dateline`
FROM `vb3_post` WHERE `threadid`='$threadid' AND `visible`='1'
ORDER BY `dateline`
LIMIT $n , $n1;";
$answ = mysql_query($sql);
echo "<go>\n";
while ($row = mysql_fetch_row($answ)) {
echo "<list>\n";
echo "<id>$row[0]</id>\n";
echo "<title>$row[1]</title>\n";
echo "<author>$row[2]</author>\n";
echo "<content>" . ($row[3]) . "</content>\n";
/*вложения*/
$sqla="SELECT `attachmentid`,`filename` FROM `vb3_attachment` where `contentid`='$row[0]';";
$answa=mysql_query($sqla);
echo "<attach>";
while ($row4 = mysql_fetch_row($answa)) {
echo "[at=$row4[0]]$row4[1][/at]";
}
echo "</attach>";
/*вложения*/
echo "<date>$row[4]</date>\n";
echo "<type>post</type>\n";
echo "</list>\n";
}
echo "</go>";
mysql_close();
} else if ($do == "getInputMessages") {
$user = getValue("user");
$n = 0;
$n = getValue("n");
if ($n == "") {
$n = 0;
}
connect();
$n1 = $n + 30;
$sql = "SELECT `pmtextid`,`title`,`fromusername`,`message`,`dateline`
FROM `vb3_pmtext` WHERE `touserarray` LIKE '%\"$user\"%'
ORDER BY `dateline` DESC
LIMIT $n , $n1;";
$answ = mysql_query($sql);
echo "<go>\n";
while ($row = mysql_fetch_row($answ)) {
echo "<list>\n";
echo "<id>$row[0]</id>\n";
echo "<title>$row[1]</title>\n";
echo "<author>$row[2]</author>\n";
echo "<content>$row[3]</content>\n";
echo "<date>$row[4]</date>\n";
echo "<type>pm</type>\n";
echo "</list>\n";
}
echo "</go>";
mysql_close();
} else if ($do == "getOutputMessages") {
$user = getValue("user");
$n = 0;
$n = getValue("n");
if ($n == "") {
$n = 0;
}
connect();
$n1 = $n + 30;
$sql = "SELECT `pmtextid`,`title`,`touserarray`,`message`,`dateline`
FROM `vb3_pmtext` WHERE `fromusername` ='$user'
ORDER BY `dateline` DESC
LIMIT $n , $n1;";
$answ = mysql_query($sql);
echo "<go>\n";
while ($row = mysql_fetch_row($answ)) {
echo "<list>\n";
echo "<id>$row[0]</id>\n";
echo "<title>$row[1]</title>\n";
echo "<author>$row[2]</author>\n";
echo "<content>$row[3]</content>\n";
echo "<date>$row[4]</date>\n";
echo "<type>pm</type>\n";
echo "</list>\n";
}
echo "</go>";
mysql_close();
} else if ($do == "sendPost") {
$threadid = getValue("threadId");
$username = getValue("userName");
$passmd5 = getValue("userPassword");
$message = getValue("message");
$title = getValue("title");
$date = time();
$userid = checkUser($username, $passmd5);
$userip = $_SERVER['REMOTE_ADDR'];
if ($userid > -1) {
// echo "user - ok \n";
$sql = "INSERT INTO `vb3_post`(
`threadid`,
`parentid`,
`username`,
`userid`,
`title`,
`dateline`,
`pagetext`,
`allowsmilie`,
`showsignature`,
`ipaddress`,
`iconid`,
`visible`,
`attach`,
`importthreadid`,
`importpostid`,
`infraction`,
`reportthreadid`,
`ua`
) VALUES (
'$threadid',
'0',
'$username',
'$userid',
'$title',
'$date',
'$message',
'1',
'0',
'$userip',
'0',
'1',
'0',
'0',
'0',
'0',
'0',
'Mobile Application API');";
connect();
mysql_query($sql);
$sql2 = "SELECT `replycount` FROM `vb3_thread` WHERE `threadid`='$threadid';";
$ansv_count = 0;
$answ = mysql_query($sql2);
while ($row1 = mysql_fetch_row($answ)) {
$ansv_count = $row1[0] + 1;
}
$sql1 = "UPDATE `vb3_thread` SET `lastpost`='$date',`replycount`='$ansv_count',`lastposter`='$username' WHERE `threadid`='$threadid';";
mysql_query($sql1);
mysql_close();
}
} else if ($do == "sendMessage") {
$username = getValue("userName");
$passmd5 = getValue("userPassword");
$message = getValue("message");
$title = getValue("title");
$tousername = getValue("toUser");
$touserid = getUserIdByName($tousername);
$date = time();
$userid = checkUser($username, $passmd5);
if ($userid > -1) {
$touserarray = "a:1:{i:$touserid;s:1:\"$tousername\";}";
$sql = "INSERT INTO `vb3_pmtext`
(
`fromuserid`,
`fromusername`,
`title`,
`message`,
`touserarray`,
`iconid`,
`dateline`,
`showsignature`,
`allowsmilie`,
`importpmid`,
`reportthreadid`)
VALUES
('$userid',
'$username',
'$title',
'$message',
'$touserarray',
'1',
'$date',
'0',
'1',
'0',
'0');";
connect();
mysql_query($sql) or die(mysql_error());
$sql1 = "SELECT `pmtextid` from `vb3_pmtext` WHERE `dateline`='$date' AND `fromuserid`='$userid';";
$answ = mysql_query($sql1);
$pmid = -1;
while ($row = mysql_fetch_row($answ)) {
$pmid = $row[0];
}
$sql3 = "INSERT INTO `vb3_pm`
(
`pmtextid`,
`userid`,
`folderid`,
`messageread`,
`importpmid`,
`parentpmid`)
VALUES (
'$pmid',
'$userid',
'-1',
'0',
'0',
0);";
mysql_query($sql3);
$sql4 = "SELECT `pmid` FROM `vb3_pm` WHERE `pmtextid`='$pmid'";
$pmid1 = -1;
$answ2 = mysql_query($sql4);
while ($row2 = mysql_fetch_row($answ2)) {
$pmid1 = $row2[0];
}
$sql3 = "INSERT INTO `vb3_pm`
(
`pmtextid`,
`userid`,
`folderid`,
`messageread`,
`importpmid`,
`parentpmid`)
VALUES (
'$pmid',
'$touserid',
'0',
'0',
'0',
'$pmid1');";
mysql_query($sql3);
$sql5="INSERT INTO `vb3_pmreceipt`(
`pmid`,
`userid`,
`touserid`,
`tousername`,
`title`,
`sendtime`,
`readtime`,
`denied`) VALUES
('$pmid1',
'$userid',
'$touserid',
'$tousername',
'$title',
'$date',
'0',
'0');";
mysql_query($sql5);
$sql6="SELECT `pmunread` FROM `vb3_user` WHERE `userid`='$touserid';";
$n_msg=0;
$answ5=mysql_query($sql6);
while ($row3 = mysql_fetch_row($answ5)) {
$n_msg=$row[0];
}
$n_msg=$n_msg+1;
$sql6="UPDATE `vb3_user` SET `pmunread`='$n_msg' WHERE `userid`='$touserid';";
mysql_query($sql6);
mysql_close();
}
}
/**
* получение значения входящей переменной
* @param type $name имя переменной
*/
function getValue($name) {
$value = '';
if ($name != "") {
if (isset($_POST[$name])) {
$value = $_POST["$name"];
} else if (isset($_GET[$name])) {
$value = $_GET[$name];
} else if (isset($_COOKIE[$name])) {
$value = $_COOKIE[$name];
}
}
return $value;
}
function getUserIdByName($name) {
$sql = "SELECT `userid`
FROM `vb3_user` WHERE `username`='$name'
LIMIT 0 , 30";
connect();
$answ = mysql_query($sql);
$id = -1;
while ($row = mysql_fetch_row($answ)) {
$id = $row[0];
}
mysql_close();
return $id;
}
/**
* подключение к базе данных
*/
function connect() {
$con = mysql_connect("localhost", "login", "pass") or die(mysql_error());
mysql_select_db("vbulletin");
mysql_query("SET NAMES utf8");
}
function echoError($message, $code) {
echo "<error><message>$message</message><code>$code</code><error>";
}
function checkUser($name, $md5password) {
connect();
$sql = "SELECT `userid`,`password`,`salt`
FROM `vb3_user` WHERE `username`='$name'
LIMIT 0 , 30";
//echo $sql;
$answ = mysql_query($sql);
$n = -1;
while ($row = mysql_fetch_row($answ)) {
$salt = $row[2];
// echo md5($md5password.$salt)." ".$row[1];
if (md5($md5password . $salt) == $row[1]) {
$n = $row[0];
}
}
mysql_close();
return $n;
}
?>
Last edited by ka81 : 08-27-2013 at 11:40 PM.
Reason: Добавлено сообщение
Sellrion
Kernel panic
Join Date: Aug 2007
Location: Екатеринбург
Posts: 2,536
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1920
Репутация в разделе: 793
0
Quote:
Originally Posted by ka81
но админ сервера сделал редирект и форум доступен сразу по домену
ни я не разраб не являемся админисраторами форума. я его собственник с поверхностным пониманием работы форума и его движка, если можно так сказать. администратор сейчас недоступен временно.
поэтому к сожалению без подсказок "как для тупеньких" я ничего не пойму.. :(