Книга: Программирование для Linux. Профессиональный подход
10.6.3. Функции system() и popen()
10.6.3. Функции system() и popen()
Третья распространенная проблема безопасности, о которой должен помнить каждый программист, заключается в несанкционированном запуске программ через интерпретатор команд. В качестве наглядной демонстрации рассмотрим сервер словарей. Серверная программа ожидает поступления запросов через Internet. Клиент посылает слово, а сервер сообщает, является ли оно корректным словом английского языка. В любой Linux-системе имеется файл /usr/dict/words
, в котором содержится список 45000 слов, поэтому серверу достаточно выполнить такую команду:
% grep -х слово /usr/dict/words
Код завершения команды grep
сообщит о том, обнаружено ли указанное слово в файле /usr/dict/words
.
В листинге 10.6 показан пример реализации поискового модуля сервера.
- Аргументы функции в Python
- 3. Функции
- Новые функции API для работы с Blob и массивами
- System tools used for debugging
- Integrated Secure Communications System
- Математические функции
- Размытые функции
- 7.3. Финансовые функции
- 4.3. Логические функции и таблицы истинности
- B1.7. Функции обработки ошибок
- 9.1.4.2. Функции-оболочки: execl() и др.
- 11.5. Функции getservbyname и getservbyport