Аргерих Л. О языке РНР. Часть 5. Страница 77


, mysqi> GRANT INSERT, UPDATE ON web site.users TO webuser@localhost; mysql> GRANT INSERT ON web site.log TO webuser@localhost;

Пользователю adminuser нужны права INSERT, UPDATE и DELETE для таблицы us­ers, права INSERT и UPDATE для таблицы news и права INSERT для таблицы log_tbl. Мы предоставим их с помощью следующих команд SQL:

mysql> GRANT INSERT, UPDATE, DELETE ON web site, users TO adminuser@localhost; mysql> GRANT INSERT, UPDATE ON web site, news TO admiriuser@localhost; mysql> GRANT INSERT ON web site.log_tbl TO adminuser@localhost;

Наконец, надо обеспечить перезагрузку MySQL таблиц с правами доступа:

mysql> FLUSH PRIVILEGES;

Теперь сервер MySQL должен быть защищен, а у читателя должно появить­ся представление о том, как создавать пользователей с определенными пра­вами. Дополнительные сведения по данной проблеме можно найти в руко­водстве по MySQL или в разделе «Ресурсы и материалы для дальнейшего изучения» в конце данной главы.

Криптография

Криптография (от греч. kryptys и grapho) - это тайнопись, или шифрование. Шифрование сообщений имеет многовековую историю, по сложности прости­раясь от простых шифров подстановки, применявшихся в древнем Риме, до используемых в настоящее время систем с открытыми и закрытыми ключа­ми и квантовой криптографии будущего. Задача криптографа - создать шифр настолько надежный, что прочесть сообщение сможет только тот, ко­му оно предназначено, и никто посторонний.

Следующие несколько страниц посвящены беглому обзору типов криптогра­фических алгоритмов, применяемых сегодня в Интернете, а также кое-ка­ким сведениям об их действии и областях возможного применения.

Однонаправленное шифрование

С помощью этой процедуры строка зашифровывается таким образом, что она не может быть расшифрована. Может показаться непонятным, где это может понадобиться, но на самом деле такой метод шифрования часто ис­пользуется в мире компьютеров.

Алгоритмы, реализующие однонаправленное шифрование, часто называют алгоритмами хеширования (hashing algorithms). Это процедура, создающая уникальный «отпечаток» исходной строки. В РНР в качестве алгоритма хе­ширования чаще всего применяется Мы не станем вникать в описыва­ющий его математический аппарат, а лишь отметим, что он принимает стро­ку и возвращает ее уникальный 128-битовый отпечаток.

В настоящее время считается невозможным по этому отпечатку восстано­вить исходные данные, обратив кроме того, весьма мала вероят­ность того, что можно создать два набора входных данных с одинаковыми отпечатками. Это не делает системы полностью неуязвимыми, поскольку со­храняется вероятность взлома с помощью метода «грубой (полный пе­ребор до совпадения входных и выходных данных). Продолжительность взлома с помощью грубой силы зависит от сложности данных, но для коротких паролей она невелика.