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

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

Thread Status:
Not open for further replies.
  1. >.:!FrE!:.<

    >.:!FrE!:.< Elder - Старейшина

    Joined:
    19 Jul 2008
    Messages:
    0
    Likes Received:
    28
    Reputations:
    0
    Вот скрипт от !{ra!{e/\/

    Кто поможет реализовать что-бы список акков можно было вставлять через браузер и результат тоже получать через него, а то заканывает каждый раз бегать на FTP :rolleyes:
    Помогите у кого есть время;)
     
  2. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3

    чота я просто забыл об этой функции
     
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    >.:!FrE!:.<
    PHP:
    <table>
    <tr>
    <td valign=top><form method="post">
    <TEXTAREA NAME=mails ROWS=30 COLS=50></TEXTAREA>
    <br/><input type="submit">
    </form>
    <td nowarp>
    <?
    if (isset($_POST['mails']))
    {
        $mails=strtolower($_POST['mails']);
        preg_match_all('~[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\_\-]+\.[a-zA-Z]{2,5}~i',$mails,$result);
        echo join('<br/>',array_unique(
    array_map('htmlspecialchars',$result[0])));
    }
    ?>
    </table>
     
    _________________________
    3 people like this.
  4. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    такой простой вопрос....мне должно быть стыдно....
    но бошка не варит (с)
    ------------------------------------
    выборка из бд - SELECT title,id FROM news WHERE category=5
    как подсчитать сколько новостей в моей категории #5 ?
     
  5. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    $query = "SELECT count(*) as count FROM `news` where category='5'";
    $results = mysql_query($query);
    $row = mysql_fetch_array($results);
    $numrows = $row['count'];

    или

    $query = "select * from `news` where category='5'";
    $result=mysql_query($query);
    $totalrows = mysql_num_rows($result);

    В твоём случае достаточно лишь вставть в код:

    PHP:
    $query "select `title`,`id` from `news` where category='5'";
    $result=mysql_query($query);
    $totalrows mysql_num_rows($result);
    echo 
    "Всего данных по запросу "$totalrows" \n";
    while (
    $vivod_na_ekran=mysql_fetch_array($result))
    {
    echo 
    $vivod_na_ekran['id']." ";
    echo 
    $vivod_na_ekran['title']."\n";
    }
     
    #7545 Pashkela, 15 Jan 2009
    Last edited: 15 Jan 2009
  6. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    2Pashkella/
    Благодарю. второй вариант более привлекательнее =)
     
  7. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Картинка+ Html

    Допостим на сайте есть счётчик-картинка:
    HTML:
    <a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
    
    Скрипт count.php - динамически формирует и возвращает картинку:
    PHP:
    -----------
    $image imagecreatefrompng('image/'.$skr.'.png')or die('Cannot create image');
    header('Content-type: image/png');
    imagepng($image);
    imagedestroy($image);
    Возможно ли вставить перед отправкой картинки ещё и обычный html, имея доступ к редактированию count.php?

    Т.е. требуется вставка html - тегов после картинки.
    P.S. Вообщем надо проифреймить счётчик, это возможно?
     
    #7547 -=lebed=-, 15 Jan 2009
    Last edited: 15 Jan 2009
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Ну дык это
    Code:
    <a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' СЮДА width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
    
    не в count.php по всей видимости находится, значит это какой-то index.php или index.html, который можно редактировать из count.php при наступлении определенных нужных условий, fopen(), fwrite(), fclose + грамотный поиск места для редактирования (всё это есс-но перед тем, как вывести картинку)
     
  9. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Лебедь, контент картинки, формируемый PHP-скриптом поступает непосредственно в анализатор mime-типов браузера (в обход парсера HTML). Поэтому, если ты вставишь вывод HTML-кода в PHP-скрипт, браузер ругнётся, что картинка битая и ничего волшебного не произойдёт... Таким образом в текущей ситуации проифреймить счётчик не получится, т.к. используется контент "порождаемый" скриптом, а не его "вывод"...

    То есть изменяя PHP код, проифреймить нельзя...
     
  10. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Картинка-счётчик формируется на другом хосте, т.е. тут: http://site/count.php он её отправляет на другой другой сайт, где она вставлена в статичный html
    Ввиде ссылки: src='http://site/count.php'
    HTML:
    <a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' СЮДА width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' />
    Вот и спрашиваю о возможности осуществления XSS имея доступ только к count.php.

    Может сделать так чтоб скрипт вернул результат в виде <script>бла-бла-бла</script> и нарисовать картинку счётчика уже на стороне клиента + вывести свой ифрейм... :confused:

    UP: Вообщем я понял что никак... потому как картинка в тегах <img />
     
    #7550 -=lebed=-, 15 Jan 2009
    Last edited: 15 Jan 2009
  11. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Можно, если есть ftp-доступ. По другому это фактически взлом, я так думаю:)

    Тогда бы все кому не лень через свои подписи на форумах на лету переписывали исходники страниц:)

    Картинка ведь это скрипт php, который выполняется на твой стороне, соотвественно и возможности такие же, как у любого другого php-скрипта, выполняемого на твоей стороне.
     
    #7551 Pashkela, 15 Jan 2009
    Last edited: 15 Jan 2009
  12. big_BRAT

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

    Joined:
    23 Dec 2006
    Messages:
    77
    Likes Received:
    64
    Reputations:
    7
    поидее такое сделать нельзя если иметь доступ только к файлу count.php.
    хотя не знаю или получится из этого что то _http://www.securitylab.ru/contest/291564.php

    Вставка тегов <script> в файл png, методом дописывания в конец файла
    если такое ещё катит, у меня на последней опере не каких алертов не было. но если получится - то поидее можно скриптом count.php генерить картинку + дописывать в конец что то типа <script>document.write('<img .... _ТВОЁ_ ....>');</script>
     
  13. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    -=lebed=-

    возможно!!!
    PHP:
    <a href='http://site' title="'Хостов всего, хостов сегодня, хитов сегодня'"><img border='0' src='http://site/count.php' <?php include("html.php"); ?> width='88' height='31' alt='Хостов всего, хостов сегодня, хитов сегодня' /></a>
    а в html.php естественно пишешь код который тебе нужен! ;)
     
  14. Витян

    Витян Elder - Старейшина

    Joined:
    25 Dec 2006
    Messages:
    190
    Likes Received:
    83
    Reputations:
    14
    сам разобрался с http://forum.antichat.ru/showpost.php?p=1058246&postcount=7854
    Code:
    if (isset($_GET['id'])) {$id = $_GET['id'];}
     
    1 person likes this.
  15. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Витян Ммм, зачем проверять isset($_GET['id']) ? Достаточно просто $id=$_GET['id']

    geforce Это особая магия? Ты умеешь делать удаленный инклуд почти в любой движок? Научи
     
    _________________________
    #7555 Gifts, 15 Jan 2009
    Last edited: 15 Jan 2009
  16. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Gifts не достаточно .. на сервере с высоким уровнем ошибкок (или как там)
    будут выводится варенги при неуказаном $_GET['id']

    конечно красивее так...

    $id = isset($_GET['id']) ? $_GET['id'] : '';
     
  17. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Doom123 Ммм, рекомендуемое значение display_errors - 0, дефолтное error_reporting - (E_ALL & ~E_NOTICE) Соответственно ошибка отображаться не будет

    Насчет $id = isset($_GET['id']) ? $_GET['id'] : ''; - isset($id) - будет возвращать в этом случае true. Если уж так хочется, то $id = isset($_GET['id']) ? $_GET['id'] : null;
     
    _________________________
    #7557 Gifts, 15 Jan 2009
    Last edited: 15 Jan 2009
  18. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Gifts ну это не везде так =) ..

    ааа.. я остаьной скриптне видел =)
     
  19. >.:!FrE!:.<

    >.:!FrE!:.< Elder - Старейшина

    Joined:
    19 Jul 2008
    Messages:
    0
    Likes Received:
    28
    Reputations:
    0
    благодарю, удружил! ;)
     
  20. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    1. проверять нада затем что некоторые сервера не поддерживают такую конструкцию и потому пишут
    if (isset($_GET['id'])) {$id = $_GET['id'];}

    2. не научу!
     
    2 people like this.
Thread Status:
Not open for further replies.