форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Вопросы по vBulletin 3.8
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
ka81
Продвинутый
 
ka81's Avatar
Question android.php - Fatal error - ошибка при открытии
0

Помогите пжлст решить проблему.

Разработчик приложения под андроид устанавливает скрипт для связи форума с приложением.
вся суть - заливка одного файла в корень форума.
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
разраб не знает в чем проблема.

прошу вашей помощи совета как решить и что вообще за проблемаю

Спасибо.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Sellrion
Kernel panic
 
Sellrion's Avatar
Default
0

Ну дак почему файл android.php находится в корне, когда приложение пытается его искать в папке talk? Или у вас на сервере два файла android.php и тот что в папке talk должен инклудиться в android.php в корне?)
 
 
Liked
Специалист
 
Liked's Avatar
Default
0

@ka81, права 755 попробуй поставить
 
 
ka81
Продвинутый
 
ka81's Avatar
Default
0

Quote:
Originally Posted by Sellrion View Post
Ну дак почему файл android.php находится в корне, когда приложение пытается его искать в папке talk? Или у вас на сервере два файла android.php и тот что в папке talk должен инклудиться в android.php в корне?)
на сервере все файлы форума в папке ТАЛК, но админ сервера сделал редирект и форум доступен сразу по домену (без папки ТАЛК).

скажите пжлст что и где изменить?
очень благодарю..

ka81 добавил 27.08.2013 в 22:37
Quote:
Originally Posted by Liked View Post
@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
 
Sellrion's Avatar
Default
0

Quote:
Originally Posted by ka81 View Post
но админ сервера сделал редирект и форум доступен сразу по домену
Чудеса.)) Но, даже если у вас настроен редирект с http://форум.ru/android.php на форум.ru/talk/android.php, то судя по коду при простом обращении к скрипту он и не должен ничего показывать в браузере. Попробуйте http://форум.ru/android.php?do=getForums
Оффтоп

Sellrion добавил 28.08.2013 в 00:11
И, кстати, логин и пасс к БД вы уже выложили, теперь осталось узнать ссылочку на ваш форум и какеры идут к вам.))

Last edited by Sellrion : 08-28-2013 at 01:11 AM. Reason: Добавлено сообщение
 
 
usrg
Эксперт
 
usrg's Avatar
Default
0

Quote:
Originally Posted by Sellrion View Post
И, кстати, логин и пасс к БД вы уже выложили
Речь о -
Quote:
Originally Posted by ka81 View Post
$con = mysql_connect("localhost", "************", "***********.") or die(mysql_error());
Немедленно смените
 
 
ZTX18
Специалист
Default
0

Quote:
Originally Posted by usrg View Post
Немедленно смените
Зачем? Этот файлик все равно позволяет их вывести, как и, в принципе, любой инжект сделать..
 
 
ka81
Продвинутый
 
ka81's Avatar
Default
0

Quote:
Originally Posted by Sellrion View Post
Но, даже если у вас настроен редирект с http://форум.ru/android.php на форум.ru/talk/android.php,
наоборот, с форум.ru/talk на форум.ru

Quote:
Originally Posted by Sellrion View Post
Ничего личного, но если этот скрипт за деньги написан, то я бы за него оторвал руки.
нет, разраб приложения взял его в свободном пользовании в сети.

Quote:
Originally Posted by Sellrion View Post
то я бы за него оторвал руки.
Quote:
Originally Posted by ZTX18 View Post
Этот файлик все равно позволяет их вывести, как и, в принципе, любой инжект сделать..
был бы вам пизнателен за указание на критические моменты в данном скрипте и на что их поменять - если вас не затруднит это.

Quote:
Originally Posted by Sellrion View Post
таже ошибка с фатал еррором.


-----------------------
 
 
usrg
Эксперт
 
usrg's Avatar
Default
0

Quote:
Originally Posted by ka81 View Post
был бы вам пизнателен за указание на критические моменты в данном скрипте и на что их поменять - если вас не затруднит это.
Все без исключений данные от пользователя надо проверять, а тут их сразу в запрос в БД пихают, что грозит - http://ru.wikipedia.org/wiki/%D0%92%...BE%D0%B4%D0%B0
 
 
ka81
Продвинутый
 
ka81's Avatar
Default
0

Quote:
Originally Posted by usrg View Post
Все без исключений данные от пользователя надо проверять, а тут их сразу в запрос в БД пихают, что грозит - http://ru.wikipedia.org/wiki/%D0%92%...BE%D0%B4%D0%B0
ни я не разраб не являемся админисраторами форума. я его собственник с поверхностным пониманием работы форума и его движка, если можно так сказать. администратор сейчас недоступен временно.
поэтому к сожалению без подсказок "как для тупеньких" я ничего не пойму.. :(
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 01:53 AM.


Powered by vBulletin® Version Nulled Edition
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.