Помощник
|
Приемы безопасного программирования |
altrego
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
2.12.2007, 1:42;
Ответить: Webmaster_hb
Сообщение
#2
|
|
altrego, одного документа не встречал
могу сказать, что необходимо обратить внимание на SQL-инъекции, передачу параметров из адресной строки |
|
|
Exterior |
3.12.2007, 13:43;
Ответить: Exterior
Сообщение
#3
|
|
|
altrego, нашел вот у себя, может поможет чем...
Как всегда, начну с теории. От безопасности скриптов зависит правильная работа ваших сайтов и форумов, а также отношение ваших посетителей к вам. К примеру, если ваш сайт, “испортят”, то у посетителей может сложиться не очень хорошее впечатление о вашем сайте, и они к вам больше не придут. Даже, несмотря на то, что вы уже все исправили, т.к. первое впечатление о сайте, остается надолго, и посетитель, разочаровавшийся в вас один раз, больше не зайдет к вам, даже при очень заманчивых уговорах. Теперь подумаем, что же можно сделать такого, чтобы, не случилось неприятностей, с работой ваших скриптов. Перечислю основные положения: 1. Всегда разбивайте один большой скрипт на несколько маленьких, ненужно запихивать в один скрипт все, что может пригодиться, так как, в крайнем случае, для объединения скриптов можно воспользоваться функцией include. 2. Всегда храните пароли для доступа к сайту зашифрованными или используйте md5() для получения и сравнения хэш-суммы пароля. 3. Никогда не передавайте в качестве параметров имена других скриптов, т.к. этим можно воспользоваться. Лучше сделать небольшой скрипт, который в зависимости от значения какого-либо параметра, выбирает, какой скрипт лучше include()’ить. Делается это очень просто с помощью оператора switch(). 4. Проверяйте, откуда и как был запущен ваш скрипт. Эту задачу можно решить по-разному. a. Если ваш скрипт работает в составе какого-то основного, то можно просто ввести какую-либо переменную, устанавливаемую в главном скрипте, и проверяемую во всех подключаемых скриптах с помощью простого isset() или сложной функции, с проверкой самого значения (к примеру, так делают почти все сотовые операторы, с сайтов которых можно отправить SMS). b. Если же ваш скрипт работает отдельно, то можно проверять значения с помощью getenv(), к примеру, проверять getenv('QUERY_STRING') или getenv('HTTP_REFERER'). Но это не дает никаких гарантий, т.к. эти значения можно без проблем изменить, если запускать ваш скрипт с другого сайта c. Ну и самое важное используйте .htaccess, о нем много статей у меня на сайте в разделе “статьи”. 5. Еще можно попробовать технологии Zend, в частности Zend Optimizer, но главное, что нужно учесть при использовании продуктов данного производителя, то, что на сервере, у хостера должен быть установлен пакет Zend для PHP, в большинстве он установлен по умолчанию. Все подробности о продуктах Zend и их возможностях на их официальном сайте http://www.zend.com/. Конечно, важно еще понимать, какие данные можно передавать через строку браузера, а какие нет. К примеру, на многих сайтах часто встречается ошибка, когда пароль передают скрипту в качестве параметра, через строку браузера использую метод Get, вместо метода Post, не учитывая, что браузер сохраняет почти все запросы к просмотренным страницам, а от туда несложно получить и пароль, несмотря на то, что он даже urlencode()'ированн. Ну и в конце статьи небольшой совет, касающийся безопасности ваших серверных приложений: никогда не раздавайте налево и на право свои скрипты, которые вы писали лично для себя, или для своего сайта. Т.к. найти брешь в чужом скрипте гораздо легче, когда видишь его исходный текст и можешь понять его работу в целом. Автор: Беляев Александр aka gid
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Современный сервис для быстрого и безопасного обмена валют. | 15 | CryptoTims | 4988 | 22.4.2024, 22:32 автор: CryptoTims |
|
Услуги программирования от команды разработчиков | 3 | Powinteh | 3514 | 9.4.2023, 19:19 автор: Powinteh |
|
Darken.Cash-Сервис быстрого и безопасного обмена электронных валют | 11 | Darken | 3547 | 13.6.2022, 13:56 автор: Darken |
|
Bitpapa.com — P2P маркетплейс для безопасного обмена криптовалюты на фиат и обратно P2P маркетплейс для безопасного обмена криптовалюты на фиат и обратно |
13 | Bitpapa_com | 9888 | 20.1.2022, 22:59 автор: Bitpapa_com |
|
Mybtc24.com — это сервис безопасного обмена криптовалют | 3 | mybtc24 | 6200 | 5.12.2018, 17:30 автор: mybtc24 |
Текстовая версия | Сейчас: 26.4.2024, 7:21 |