[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Если знаком с такими понятиями как sockets, cURL, регулярные выражения, то вопросов не должно возникать, если не знаком то для начала непохо было бы ознакомиться. Эта тема предназначена для небольших подсказок, найти ошибку в коде, подсказать функцию, но тут никто не собирается с нуля обьяснять что такое проток, какие есть протоколы, какие есть либы для работы с протоколами, что такое брут, зачем нужно эмулировать действия браузера, и нужно ли это делать и тд.
     
  2. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    m0Hze, ну а как тогда можно избавится от этого символа? Т.е. как я понял это из-за кодировки? Кодировку я использую в БД и в скрипте UTF-8
     
  3. Tombik

    Tombik Banned

    Joined:
    21 Dec 2008
    Messages:
    18
    Likes Received:
    85
    Reputations:
    13
    как из этих файлов узнать логин и пасс админа? Заколебался уже искать...
    В базе данных есть в пользователях логин admin пасс admin, но нихера не работает.

    Содержание этого файла http://сайт/admin/index.php

    PHP:
    <?
    error_reporting(0);
    session_start();
    require_once 
    "../config.php";
    require_once 
    "class.admin.php";
    $admin = new admin();
    $admin->CheckAuth();
    $admin->dira $dir;
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Управляющий терминал</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <link href="admin.css" type=text/css rel=stylesheet>
    </head>
    <body>
    и т.д.
    Содержание этого class.admin.php

    PHP:
    if(eregi("class.admin.php", $_SERVER['PHP_SELF'])) die();

    class admin
    {
        var $dira;
        public function redirect($where,$time)
        {
            echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"$time; URL=$where\">";
        }

        public function check($what)
        {
            return mysql_escape_string(htmlspecialchars($what));
        }

        public function CheckAuth()
        {
            if(!session_is_registered("adminka") and !isset($_SESSION['login']))
            {
                if(!isset($_POST['submit']))
                {
                ?>        
                    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
                    <link href="admin.css" type=text/css rel=stylesheet>
                    <div id="ctr" align="center">
                    <div class="login">
                    <div class="login-form">
                    <form action="" method="post" name="loginForm" id="loginForm">
                    <div class="form-block">
                    <div class="inputlabel">Логин</div>
                    <div><input name="login" type="text" class="inputbox" size="15" /></div>
                    <div class="inputlabel">Пароль</div>
                    <div><input name="pass" type="password" class="inputbox" size="15" /></div>
                    <div align="left"><input  title=" Нажмите сюда после ввода имени и пароля " type="submit" name="submit" class="button" value="Войти" /></div>
                    </div>
                    </form>
                    </div>
                    <div class="login-text">
                    <div class="ctr"><img src="img/security.png" width="64" height="64" alt="security" /></div>
                    <p>Добро пожаловать!</p>
                    <p>Введите имя и пароль для доступа в панель управления.</p>
                    </div>
                    <div class="clr"></div>
                    </div>
                    </div>            
                <?
                }
                else
                {
                    if(!empty($_POST['login']) and !empty($_POST['pass']))
                    {
                        $_POST['login'] = $this->check($_POST['login']);
                        $_POST['pass'] = md5($_POST['pass']);
                        $query = mysql_query("SELECT admin_pass,admin_login FROM `config` WHERE `admin_pass` = '$_POST[pass]' AND `admin_login` = '$_POST[login]'");
                        if(mysql_num_rows($query)>0)
                        {
                            session_register("adminka");
                            $_SESSION['login'] = $_POST['login'];
                            $this->redirect("./?mod=index",0);
                        } else echo "Неверный логин или пароль.";
                    } else echo "Заполнены не все поля.";
                }
                exit();
            }
        }
    и т.д.
     
  4. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Смотри в табличке config в БД поля admin_pass,admin_login
     
    1 person likes this.
  5. Tombik

    Tombik Banned

    Joined:
    21 Dec 2008
    Messages:
    18
    Likes Received:
    85
    Reputations:
    13
    эм... там нет такого(
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    mysql_query("SELECT admin_pass,admin_login FROM `config` WHERE `admin_pass` = '$_POST[pass]' AND `admin_login` = '$_POST[login]'");
     
    2 people like this.
  7. Tombik

    Tombik Banned

    Joined:
    21 Dec 2008
    Messages:
    18
    Likes Received:
    85
    Reputations:
    13
    PHP:
    $_POST['login'] = $this->check($_POST['login']);
                        
    $_POST['pass'] = md5($_POST['pass']);
                        
    $query mysql_query("SELECT admin_pass,admin_login FROM `config` WHERE `admin_pass` = '$_POST[pass]' AND `admin_login` = '$_POST[login]'");
    да, есть такая штука, а чё тут менять то?)
     
  8. superboy4

    superboy4 Banned

    Joined:
    17 Jul 2007
    Messages:
    151
    Likes Received:
    19
    Reputations:
    -8
    Как сделать на страничке регистрации поле Страна, чтобы его значение автоматически определялось в зависимости от Ip-адреса посетителя? Поэтому хотелось бы упростить немного сам процесс регистрации пользователя.
     
  9. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    имеется:
    index.php and 2.php

    index.php code:
    PHP:
    <form action="2.php" method="post">
        
    Адресс  <input type="text" name="ip" /><br />
        <
    input type="submit" name="submit" value="Генерируй!))" />
    </
    form>

    2.php code:
    PHP:
    <? 
    $ip2 $HTTP_POST_VARS['ip'];
    $ip ''// тут был не полный адресс хх.хх.хх. мне так удобнее, подписывать только последнее число
    $text 'ex.exe 0 ';
    $text1 'ex.exe 1 ';
    $text2 'ex.exe 2 ';
    $file 'C:/test.bat'
    $f=@fopen($file"a+"); 
    //----------------- строка 1 -----------------------------
    @fputs ($f$text);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1
    "
    ); 
    //----------------- строка 2 -----------------------------
    @fputs ($f$text1);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1
    "
    ); 
    //----------------- строка 3 -----------------------------
    @fputs ($f$text2);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1

    "
    ); 

    //-------------------------------------------------------  Второй сплоит ---------------------------------------------------------------

    $text 'ex1.exe 0 ';
    $text1 'ex1.exe 1 ';
    $text2 'ex1.exe 2 ';

    //----------------- строка 1 -----------------------------
    @fputs ($f$text);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1
    "
    ); 
    //----------------- строка 2 -----------------------------
    @fputs ($f$text1);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1
    "
    ); 
    //----------------- строка 3 -----------------------------
    @fputs ($f$text2);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1

    "
    ); 

    //-------------------------------------------------------  Третий сплоит ---------------------------------------------------------------

    $text 'ex2.exe  ';
    $text1 'ex2.exe  ';
    $text2 'ex2.exe  ';

    //----------------- строка 1 -----------------------------
    @fputs ($f$text);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1
    "
    ); 
    //----------------- строка 2 -----------------------------
    @fputs ($f$text1);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1
    "
    ); 
    //----------------- строка 3 -----------------------------
    @fputs ($f$text2);
    @
    fputs ($f$ip);
    @
    fputs ($f$ip2);
    @
    fputs ($f" 40 127.0.0.1

    "
    ); 


    ?>
    <meta http-equiv="Refresh" content="0.5; URL=/./">
    как бы тут реализовать генерацию по диапазонам?
    Например переменная
    PHP:
    $ip1 '192.168.1.5';
    вторая
    PHP:
    $ip2 '192.168.1.56';
    чтобы генерация произошла в том же виде что и у меня но по этому диапазону. Весь мозг сломал. Знаю что и сам скрипт можно было сделать проще но.... Голова болела)))

    Помогите кому не сложно пожалуйста.
     
  10. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    Подскажите, как из базы mysql вывести только последние 20 записей.


    и как вообще выводить данные с конца? т.е. есть данные в базе 1 , 2 , 3 , 4 , 5


    а вывести 5 , 4 , 3 , 2 , 1
     
  11. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    PHP:
    SELECT *  
    FROM `article`  
    ORDER BY `article`.`idaDESC  
    LIMIT 0 
    20 
    order by id desc
     
    1 person likes this.
  12. Vinsik

    Vinsik Elder - Старейшина

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    не могу найти :(

    подскажите как правильно подправить код? В какую сторону копать
     
  13. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    При большом онлайне на сайте вылазит еррор
    Host 'hostname' is blocked because of many connection errors.
    Unblock with 'mysqladmin flush-hosts'

    Разлокировать это я понял как на БД через 30мин опять лочит.
    В чем может быть проблема?

    Не надо говорить что увеличь max_connect_errors, так как надо причину найти.
    PS сайт самописный
     
  14. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11

    возможно какойто скрипт делает дохера коннектов к бд. посмори повнимательеней
     
    #12974 svesve, 3 Dec 2009
    Last edited: 3 Dec 2009
  15. xismyname

    xismyname Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    77
    Likes Received:
    7
    Reputations:
    -5
    Знаю,что лезу в не тот раздел,но вопрос у меня насчет javascript-а.

    Короче,на сайте есть XSS-injection,нормально захожу на форум под своим ником,
    открываю в бровзере просмотр cookies,все как пологаеться,т.е. id юзера,хэш пароля и все остальное.
    Но когда на сайте вызываю метод document.cookie,например так :
    Code:
    alert( document.cookie );
    Оно мне выдает только часть cookies,т.е. там нету никакого хэш пароля и id юзера.
    Может есть люди,которым известно почему это так ?

    п.с. сайт/форум vBulletin.
     
  16. xismyname

    xismyname Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    77
    Likes Received:
    7
    Reputations:
    -5
    Не думаю,хотя все может быть.
    Даже через URL пытался передать,не получилось.
     
  17. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    коннект к БД делается только 1 раз в скрипте, потом 14 запросов и close
     
    1 person likes this.
  18. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Есть такая таблица
    [​IMG]
    Добавляю значение так
    PHP:
    INSERT INTO `cfgVALUES ('','http://site.ru','');
    Но запись добавляется в колонку под id = 3.
    Как добавить значение в `reklama` под id=1 ?
     
  19. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Если хочется заполнить поле reklama для id = 1, то нужно делать UPDATE, а не INSERT
    Code:
    UPDATE `cfg` SET `reklama` = 'http://site.ru' WHERE `id` = 1;
    
     
  20. SeNaP

    SeNaP Elder - Старейшина

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Спасибо, выручил :)
     
Thread Status:
Not open for further replies.