Гуестбук от меня

Discussion in 'PHP' started by scrat, 11 Sep 2007.

  1. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Guestbook by scrat
    Вот тока что написал.Прошу оценить/дать советы по:
    1.Анти- sql-inj в add.php
    2.Анти-xss в view.php
    скачать
    Всё что нужно для установки в config.php
    пс в img.php будет генерация каринок для антифлуда
     
    2 people like this.
  2. ant0ha

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

    Joined:
    22 May 2007
    Messages:
    130
    Likes Received:
    50
    Reputations:
    13
    Так в принципе не плохо, SQL-inj нету, а чтобы небыло XSS проверяй на валидность все данные перед добавлением в базу =)
     
    1 person likes this.
  3. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    Мдя.

    1. инсталляшку вручную писать? можно было бы хотя бы скуль-запросы вынести в отдельный файл.
    2. мде, strpos'ом умно делать анти-xss и антискуль
    xss: striptags(); htmlspecialchars(); htmlentities();
    sql: mysql_escape_string(); mysql_real_escape_string;

    3. фильтровать твоим способом нужно не только "`", но и другие кавычки.
    4. аналогично c XSS, если ты полагаешь, что все XSSки содержат <.script>, ты глубоко заблуждаешься.

    вообще продукты нужно писать с учетом конфигурации сервера, для начала, с учетом результата get_magic_quotes_gpc

    резюме: бажный недопроект. не в обиду, но над ним еще работать и работать...

    ты меня с кем-то путаешь определенно. Nitrex из ру-24, между прочим, совершенно другой чел.

    "апсирания" я не вижу, но выкладывать небезопасные скрипты на форуме по безопасности не совсем логично.
     
    #3 n1†R0x, 11 Sep 2007
    Last edited: 11 Sep 2007
  4. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    438
    Reputations:
    90
    Помница кто-то тоже кидал какой-то свой софт и типа скуль запросы самому вводить =) не ты ли нитрех?))))))) аяяй))))
    ладно-ладно хватит парня апсирать, ы и так наем, что ты мега программер =)))
     
  5. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    так я и просил "обосрать"(оценить/дать советы) в первом посте ;)
     
  6. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    PHP:
        if(strpos($_POST['name'],"`")||strpos($_POST['email'],"`")||strpos($_POST['msg'],"'")) echo "<H4>ANTI HAKA-HAKA!!!</H4>";
        else
        if(
    mysql_query("insert into gb values(\"".$_POST['name']."\",\"".$_POST['email']."\",\"".$_POST['msg']."\");")) echo "Запись успешно добавлена!<br><a href=\"view.php\">Просмотреть записи</a>";
        
    Ты используешь двойные ковычки а фильтруешь одинарные...

    PHP:
    if(strpos($f['name'],"<script>")||strpos($f['email'],"<script>")||strpos($f['msg'],"<script>")) echo "<H4>ANTI HAKA-HAKA!!!</H4>";
        
    Для осуществления xss не обязательно открывать тег script
     
  7. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    вот с нормальной фильтрацией:
    http://dump.ru/files/j/j3889184444/
    пс инсталлер будет вместе с img.php
     
    #7 scrat, 11 Sep 2007
    Last edited: 11 Sep 2007
    1 person likes this.
  8. sxsanti

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

    Joined:
    24 Aug 2007
    Messages:
    29
    Likes Received:
    7
    Reputations:
    -3
    да ничего, плохо смайлов нету=((((
     
    #8 sxsanti, 11 Sep 2007
    Last edited: 11 Sep 2007
  9. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Там опять нету фильтрации.

    Надо приравнивать значение , функция возвращает значение а не изменяет его

    PHP:
    strip_tags($_POST['name']);
    PHP:
    $_POST['name'] = strip_tags($_POST['name']);
     
  10. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    gemaglabin: с фильтрацие sql также?
     
  11. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
    [​IMG]
    как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????
     
  12. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    А может быть сделаешь вместо
    PHP:
    include("img.php");
    это
    HTML:
    <img src=img.php />
    ?
     
  13. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Логичнее было бы проверять их перед выводом
     
  14. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Выложи сюда код файла img.php, скачивать не хочется
     
    1 person likes this.
  15. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    PHP:
    <?
     
    //Header("Content-type: image/jpeg");
     //ok,let's go!
     
    $s="krev";
     
    $s[1]=chr(mt_rand(48,122));
     
    $s[2]=chr(mt_rand(48,122));
     
    $s[3]=chr(mt_rand(48,122));
     
    $s[4]=chr(mt_rand(48,122));
     
    $im=imagecreate(200,100);
     
    $c=imagecolorallocate($im,mt_rand(150,255),mt_rand(150,255),mt_rand(150,255));
     
    imagestring($im,4,100,50,$s,imagecolorallocate($im,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100)));
     
    //imagejpeg($im);
    ?>
     
    1 person likes this.
  16. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    хидеры не могут быть посланы после вывода текста в браузер.
    делай в теге имг, как сказали.
     
  17. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    а как я строку буду проверять???
     
  18. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    заноси значение картинки в сессию.
     
  19. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    а без сессий никак(а то я их страшно боюсь)?
     
  20. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    чего их боятся. там проще некуда.