Несколько сложных задач php

Discussion in 'PHP' started by Satell, 14 Sep 2007.

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

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

    Joined:
    13 Jan 2007
    Messages:
    91
    Likes Received:
    5
    Reputations:
    1
    Посоветуйте пожалуйста в каком направлении копать или код

    1. Написать php-функцию, определяющую, существует ли введенный посетителем email-адрес в действительности. Критичными являются: время ожидания ответа, достоверность ответа.

    2. Написать php-скрипт, который бы выводил собственный код (без использования обращения к файловой системе

    3. На сайте с фотогалереей нужно создавать маленькие превьюшки.
    Вот код, создающий из JPG-картинки превьюшку размером 100x100 точек:

    function create_thumbnail($photo, $thumb){
    $im = imagecreatefromjpeg($photo);
    $im2 = imagecreate(100, 100);
    imagecopyresized(
    $im2, $im, 0, 0, 0, 0,
    100, 100, imagesx($im), imagesy($im)
    );
    imagejpeg($im2, $thumb, 80);
    }

    Однако полевые испытания убеждают нас, что качество получаемой превьюшки довольно низко (можете сами попробовать). Как можно улучшить функцию?
    После исправления у нас могли возникнуть проблемы с быстродействием. Какие решения вы можете предложить?

    4. Нужно вывести форму в которой пользователь вводит некую кл. фразу и следующий текст: "В кл. фразе Вы можете использовать специальные символы: '*' - заменяет любую комбинацию символов; '?' - заменяет один символ. Таким образом на слово 'газ*' найдется 'газ', 'газета', 'газированный' и т.д. на 'баннер?' - 'баннера', 'баннеру', но не 'баннер' и 'баннерный'." После отправки формы нужно найти и вывести все записи из таблицы с 1 текстовым полем, содержащие кл. фразу по вышеописанному алгоритму.

    DHTML

    5. Вывести "n" объектов (например картинок), которые бы можно было передвигать по экрану с помощью мышки. Страница при это не должна обновляться. Приветствуется, если это будет работать в браузерах IE c 5.0 и выше, firefox c 1.5 и выше, Opera c 7.5 и выше
    6. Предложить вариант DHTML-дерева, работающего в IE5 и выше, Netscape6 и выше, firefox c 1.5 и выше, Opera c 7.5 и выше. Узлы должны раскрываться без обновления окна браузера.

    APACHE. Авторизация и безопасность.

    7. Скрипту авторизации из формы с полями login и password приходят авторизационные данные. В MySQL в таблице users хранятся числовые id, логины и пароли пользователей. После удачного входа в сессию записывается переменная autorized, истинность которой потом проверяют другие скрипты.

    $login = $_REQUEST['login'];
    $password = $_REQUEST['password'];
    $res = mysql_query('SELECT id FROM users
    WHERE login="'.$login.'" AND password="'.$password.'"');
    list($user_id) = mysql_fetch_array($res);
    session_start();
    $_SESSION['authorized'] = isset($user_id);

    Есть ли в приведенном скрипте и в самом способе авторизации какие-либо проблемы с безопасностью?
    Это спросить на форумах

    8. Имеется php скрипт, выводящий значения GET переменныx var1, var2 и var3 из строки запроса. Необходимо настроить апач таким образом, чтобы при вводе в строку запроса index-var1-<значение>-var2-<значение>-var3-<значение>.htm, запускался этот скрипт и выводил указанные значения. Изпользовать директивы модуля mod_rewrite и файл .htaccess.
     
  2. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    Уж про валидность стыдно спрашивать:
    http://www.codenet.ru/webmast/php/phpfaq.php#2_2
    А вообще тут http://www.softtime.ru/forum/
    спроси. Весь фору посвящён тематике PHP. Обязательно ответют.
     
  3. blaga

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

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    Насчет пункта 3 где про превьюшки картинок. Лично я на своем сайте использую вот такую функцию.
    Code:
    function resize($inputFilename,$dob_name_image)
    {
        $imagedata = getimagesize($inputFilename);
        $w = $imagedata[0];
        $h = $imagedata[1];
            $new_w = 138;      //    тут ширина картинки
            $new_h = $h*$new_w/$w;
        $im2 = ImageCreateTrueColor($new_w, $new_h);
        $image = ImageCreateFromJpeg($inputFilename);
        imagecopyResampled ($im2, $image, 0, 0, 0, 0, $new_w, $new_h, $imagedata[0], $imagedata[1]);
        imagejpeg($im2,"[путь до маленькой]"); // тут надо вписать путь куда картинку сохранять
    }
    
    Вызывать функцию вот так:
    resize("[путь до большой картинки]"",$name_image);
    У меня все нормально работает...
     
    1 person likes this.
  4. Satell

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

    Joined:
    13 Jan 2007
    Messages:
    91
    Likes Received:
    5
    Reputations:
    1
    спасибо, спасибо!
    как модифицировать этот скрипт, чтобы он был безопасный?

    $login = $_REQUEST['login'];
    $password = $_REQUEST['password'];
    $res = mysql_query('SELECT id FROM users
    WHERE login="'.$login.'" AND password="'.$password.'"');
    list($user_id) = mysql_fetch_array($res);
    session_start();
    $_SESSION['authorized'] = isset($user_id);

    Напишите плиз этот скрипт, ато я чето не понимаю:
    Нужно вывести форму в которой пользователь вводит некую кл. фразу и следующий текст: "В кл. фразе Вы можете использовать специальные символы: '*' - заменяет любую комбинацию символов; '?' - заменяет один символ. Таким образом на слово 'газ*' найдется 'газ', 'газета', 'газированный' и т.д. на 'баннер?' - 'баннера', 'баннеру', но не 'баннер' и 'баннерный'." После отправки формы нужно найти и вывести все записи из таблицы с 1 текстовым полем, содержащие кл. фразу по вышеописанному алгоритму.
     
  5. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    Satell, для безопасности скрипта тебе надо во-первых экранировать кавычки, а во-вторых, проверку авторизации делать не по
    list($user_id) = mysql_fetch_array($res);
    $_SESSION['authorized'] = isset($user_id);

    А вообще твои задачи очень похожи на задания для поступления на работу и если ты сам не можешь их решить, подумай как следует сначала сможеш ли ты там работать.
     
    _________________________
  6. censored!

    censored! Green member

    Joined:
    2 Nov 2004
    Messages:
    1,160
    Likes Received:
    299
    Reputations:
    156
    Качество было плохое так как для джпега надо выставить ImageCreateTrueColor и уменьшать со сглаживанием -> imagecopyResampled, а не imagecopyresized
    Ну и в imagejpeg($im2, $thumb, 80); вместо 80 качество 100 поставить (правда изображения будут много весить).
    В самом конце обязательно надо:
    imagedestroy($im);
    imagedestroy($im2);

    Чтобы они не возникли, надо привьюшки создавать сразу же при закачивании изображения, а не при каждом обращении к нему.

    По восьмому:
    А вообще — madnet прав.
     
    _________________________
  7. blaga

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

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    2censored!, ты мне писал про картинки? У меня с качаством все нормально. И весят они мало.
     
  8. Dr.Frank

    Dr.Frank Elder - Старейшина

    Joined:
    31 Jul 2002
    Messages:
    301
    Likes Received:
    72
    Reputations:
    12
    насчет пункта 2:
    http://ru.wikipedia.org/wiki/Куайн_(программирование)
     
  9. Satell

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

    Joined:
    13 Jan 2007
    Messages:
    91
    Likes Received:
    5
    Reputations:
    1
    на сервере лежит файл, шелла нет, файл с логами в панеле управления за 18 часов только, как можно сделать счётчик сколько раз его запрашивают броузеры?
     
  10. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    1) попросить отправить ответ.
    2) eval в помощь
    3) imagemagick
    4) можно просто сделать парсер, а можно поглумицо с LIKE )
    5,6) при чем тут пхп?
    7) есть, inj
    8) в вопросе есть ответ
     
  11. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    7 - как вариант написать небольшую ф-ию, прегматчующую входимые еперменные ну или реплейсить опеределенные спец слова. вообще вариантов не много., а дохмного.. ) афтор видимо не пытался искать ничего по этой теме

    8 - https://forum.antichat.ru/thread27498-mod+rewrite.html
     
  12. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    Так, уже дали ответы на все вопросы несколько раз.
    Зачем повторять каждому?
    Закрыто.
     
    _________________________
Loading...
Similar Threads - Несколько сложных задач
  1. GAiN
    Replies:
    3
    Views:
    7,449
Thread Status:
Not open for further replies.