Читайте также
Пример 2-1. cleanup: Сценарий очистки лог-файлов в /var/log
# cleanup# Для работы сценария требуются права root.cd /var/logcat /dev/null > messagescat /dev/null > wtmpecho "Лог-файлы очищены."Здесь нет ничего необычного, это простая последовательность команд, которая может быть набрана в командной строке с
Пример 11-23. Сценарий, завершающий себя сам с помощью команды kill
#!/bin/bash# self-destruct.shkill $$ # Сценарий завершает себя сам. # Надеюсь вы еще не забыли, что "$$" -- это PID сценария.echo "Эта строка никогда не будет выведена."# Вместо него на stdout будет выведено сообщение "Terminated".exit 0# Какой
Пример 33-6. Сценарий (бесполезный), который вызывает себя сам
#!/bin/bash# recurse.sh# Может ли сценарий вызвать себя сам?# Да, но есть ли в этом смысл?RANGE=10MAXVAL=9i=$RANDOMlet "i %= $RANGE" # Генерация псевдослучайного числа в диапазоне 0 .. $MAXVAL.if [ "$i" -lt "$MAXVAL" ]then echo "i = $i" ./$0 # Сценарий запускает
Пример 33-7. Сценарий имеющий практическую ценность), который вызывает себя сам
#!/bin/bash# pb.sh: телефонная книга# Автор: Rick Boivie# используется с его разрешения.# Дополнен автором документа.MINARGS=1 # Сценарию должен быть передан, по меньшей мере, один
Пример H-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки
#!/bin/bash# Результат преобразования пакетного файла VIEWDATA.BAT в сценарий командной оболочки.DATAFILE=/home/bozo/datafiles/book-collection.dataARGNO=1# @ECHO OFF Эта команда здесь не нужна.if [ $# -lt "$ARGNO" ] # IF !%1==! GOTO VIEWDATAthen less
Где искать ошибку
Любое приложение, в котором производятся арифметические операции, подвержено этому греху, особенно когда некоторые входные данные поступают от пользователя и их правильность не проверяется. Особое внимание обращайте на вычисление индексов массивов и
Где искать ошибку
Любое приложение, обладающее перечисленными ниже характеристиками, подвержено риску внедрения SQL:? принимает данные от пользователя;? не проверяет корректность входных данных;? использует введенные пользователем данные для запроса к базе;? применяет
Где искать ошибку
Вот основные характерные признаки:? команды (или управляющая информация) и данные расположены друг за другом;? существует возможность, что данные будут интерпретироваться как команда, зачастую из–за наличия специальных символов, например кавычки и
Где искать ошибку
Так просто и не скажешь, нет характерных признаков. Самый эффективный способ – провести анализ
Где искать ошибку
Этот грех обычно проявляется, когда:? приложение пользуется сетью;? проектировщик не обращает внимания на риски, связанные с работой в сети, или недооценивает их.Например, типичный аргумент звучит так: «мы ожидаем, что этот порт будет доступен только из
Где искать ошибку
Искать нужно места в программе, где:? Web–приложение получает секретную информацию из формы или из URL;? для принятия решения о безопасности, доверии или авторизации используются данные;? данные передаются по незащищенному или не заслуживающему доверия