Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Несколько сложных задач php |

14.09.2007, 19:13
|
|
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме: 65872
Репутация:
10
|
|
Несколько сложных задач php
Посоветуйте пожалуйста в каком направлении копать или код
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.
|
|
|

14.09.2007, 19:23
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
Уж про валидность стыдно спрашивать:
http://www.codenet.ru/webmast/php/phpfaq.php#2_2
А вообще тут http://www.softtime.ru/forum/
спроси. Весь фору посвящён тематике PHP. Обязательно ответют.
|
|
|

15.09.2007, 06:03
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
Насчет пункта 3 где про превьюшки картинок. Лично я на своем сайте использую вот такую функцию.
Код:
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);
У меня все нормально работает...
|
|
|

16.09.2007, 19:20
|
|
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме: 65872
Репутация:
10
|
|
спасибо, спасибо!
как модифицировать этот скрипт, чтобы он был безопасный?
$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 текстовым полем, содержащие кл. фразу по вышеописанному алгоритму.
|
|
|

17.09.2007, 11:43
|
|
Умиротворенн
Регистрация: 09.12.2004
Сообщений: 996
Провел на форуме: 2386719
Репутация:
1384
|
|
Satell, для безопасности скрипта тебе надо во-первых экранировать кавычки, а во-вторых, проверку авторизации делать не по
list($user_id) = mysql_fetch_array($res);
$_SESSION['authorized'] = isset($user_id);
А вообще твои задачи очень похожи на задания для поступления на работу и если ты сам не можешь их решить, подумай как следует сначала сможеш ли ты там работать.
__________________
http://madnet.name - madnet - blog | homepage (Мысли, релизы, скрипты, софт)
http://antichat.ru - Лучший сайт по безопасности
irc.antichat.ru:7771 #antichat - общение online
ГАРАНТ ФОРУМА
|
|
|

18.09.2007, 14:46
|
|
Green member - Level 3
Регистрация: 02.11.2004
Сообщений: 1,337
Провел на форуме: 2398258
Репутация:
648
|
|
Насчет пункта 3 где про превьюшки картинок
Качество было плохое так как для джпега надо выставить ImageCreateTrueColor и уменьшать со сглаживанием -> imagecopyResampled, а не imagecopyresized
Ну и в imagejpeg($im2, $thumb, 80); вместо 80 качество 100 поставить (правда изображения будут много весить).
В самом конце обязательно надо:
imagedestroy($im);
imagedestroy($im2);
После исправления у нас могли возникнуть проблемы с быстродействием
Чтобы они не возникли, надо привьюшки создавать сразу же при закачивании изображения, а не при каждом обращении к нему.
По восьмому:
RewriteEngine on
RewriteRule ^index-var1-(.*)-var2-(.*)-var3-(.*).htm$ index.php?var=$1&var2=$2&var3=$3 [QSA,L]
А вообще — madnet прав.
__________________
+ (это не крестик, это плюсик!)
__________________
•
•
•
|
|
|

18.09.2007, 16:50
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
2censored!, ты мне писал про картинки? У меня с качаством все нормально. И весят они мало.
|
|
|

18.09.2007, 19:08
|
|
Постоянный
Регистрация: 31.07.2002
Сообщений: 312
Провел на форуме: 1212427
Репутация:
187
|
|
насчет пункта 2:
http://ru.wikipedia.org/wiki/Куайн_(программирование)
|
|
|

18.09.2007, 22:28
|
|
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме: 65872
Репутация:
10
|
|
на сервере лежит файл, шелла нет, файл с логами в панеле управления за 18 часов только, как можно сделать счётчик сколько раз его запрашивают броузеры?
|
|
|

18.09.2007, 22:39
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
1) попросить отправить ответ.
2) eval в помощь
3) imagemagick
4) можно просто сделать парсер, а можно поглумицо с LIKE )
5,6) при чем тут пхп?
7) есть, inj
8) в вопросе есть ответ
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|