|
|
|
| Здравствуйте.
Хотелось бы поднять тему безопасности авторизации. Думаю, этот вопрос интересует множество программистов. Просматривая страницы РУнета, нашел множество вариантов и рецептов авторизации.
Сам на сегодняшний день использую протокол HTTPS и метод Basic.
На сколько это безопасно?
Существуют ли более безопасные методы авторизации?
Хотелось бы услышать советы и рекомендации по этому поводу. Заранее благодарен. | |
|
|
|
|
|
|
|
для: ildar
(26.04.2006 в 18:02)
| | Это безопасно в плане прослушивания трафика, т.е. если у злоумышленика не будет возможности украсть ваш пароль, то подслушать и расшифровать ваш трафик он уже не сможет. | |
|
|
|
|
|
|
|
для: cheops
(26.04.2006 в 22:51)
| | А если не использовать basic метод, а через БД. Какие символы отсеивать из введенных пользователем для безопасной работы? | |
|
|
|
|
|
|
|
для: Balamut182
(27.04.2006 в 17:18)
| | Если используется MySQL, то достаточно обработать строку с паролем функцией mysql_escape_string(), если PostgreeSQL - то функцией pg_escape_string(). | |
|
|
|
|
|
|
|
для: cheops
(26.04.2006 в 22:51)
| | А мне вот, что интересно: если я не использую в скрипте переменные, передаваемые методом GET, но определяю все входящие переменные как $a = htmlspecialchars($_POST['a']); и потом работаю с переменной $a будет ли в скрипте дыра относительно GET. Сможет ли злоумышленник взломать сайт через GET если register_globals = off? | |
|
|
|
|
|
|
|
для: NickCo
(28.04.2006 в 12:38)
| | Дыры в скрипте образуются не относительно метогов передачи, а , так сказать, относительно обрабатываемых в скрипте переменных. Образуются тогда, когда на некотором этапе в переменной оказывается совсем не то, что ожидал автор скрипта.
Почему в стиле register_globals = off проще обеспечить безопасность? Потому что всем собственным переменным можно детерминированно присвоить начальные значения, а входящие переменные собраны в одно (может быть не одно, а три-четыре - важно, что не раскиданы по всему полю переменных) место, где их неопределенность проще локализовать.
Между прочим, GET от POST несильно отличается. Не стоит рассчитывать на то, что злоумышленник не сможет передать на вход скрипта POST-переменные, минуя Вашу форму. Он сможет это сделать. | |
|
|
|