|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Как этого избежатьВы можете утешать себя тем, что хакер, в большинстве примеров, обязан владеть некоторой информацией о схеме БД. Вы правы, но вы никогда не знаете, когда и как будет предпринята попытка взлома, и если это произойдёт, ваша БД может оказаться доступной для просмотра. Если вы используете свободный ресурс или публично доступный пакет работы с БД, который может относиться к системе менеджмента содержимого или форуму, взломщики легко создадут копию участка вашего кода. Риск для системы безопасности может быть также и в случае плохо сформированного кода. Этим атакам в основном подвергается код, написанный без учёта требований безопасности. Никогда не доверяйте вводу любого рода, особенно тому, который поступает со стороны клиента, даже если он приходит от select-списка, скрытого/hidden поля или куки/cookie. Первый пример показывает, что такой небезупречный запрос может привести к тяжким последствиям. · Никогда не соединяйтесь с БД как superuser или как владелец БД (owner). Всегда используйте специализированных пользователей с максимально ограниченными правами. · Проверяйте, содержит ли ввод данные ожидаемого типа. В PHP есть большое количество функций проверки ввода: от простейших из групп Функции переменныхи Функции типов символов (например, is_numeric(), ctype_digit(), соответственно) до поддержки Perl-совместимых регулярных выражений. · Если приложение ожидает цифровой ввод, предусмотрите проверку данных с помощью is_numeric(), или скрыто измените его тип с использованием settype(), или используйте его числовое представление через sprintf().
· Закавычивайте любой нечисловой пользовательский ввод, передаваемый в БД, с помощью addslashes() или addcslashes(). См. первый пример. Как видно из примеров, кавычек, вставленных в статическую часть запроса, недостаточно, и это можно легко взломать. · Не выводите специфичную для БД информацию, особенно о схеме. См. также Сообщение об ошибке и Обработка ошибок и функции логинга. · Вы можете использовать хранимые процедуры и ранее определённые курсоры для абстрактного доступа к данным, чтобы пользователи не имели прямого доступа к таблицам или просмотрам/views, но это решение имеет свою специфику. Помимо всего прочего, вы можете извлечь пользу из запросов логинга в вашем скрипте или в самой БД, если она это поддерживает. Очевидно, что логинг не может предотвратить попытку нанесения вреда, но может помочь для трассировки "обманутого" приложения. 27) Логические основы компьютерной техники WinKey + другие клавиши Проводник | Мой Компьютер | Рабочий Стол Пропустить Автозагрузку CD-ROM: Удерживать Shift во время загрузки CD-ROM Копировать файл: Удерживать CTRL во время перемещения Создать ярлык: Удерживать CTRL + SHIFT во время перемещения файла Удалить, не помещая в корзину: SHIFT+DELETE Найти: Все файлы: F3 Вывести меню для объекта: Клавиша APPLICATION Обновить: F5 Переименовать: F2 Выбрать все: CTRL + A Посмотреть свойства: ALT+ENTER или ALT+ Двойной щелчок Диалоговые Окна: Завершить текущее задание: Esc Нажать на выбранную кнопку или поставить флажок: SPACEBAR Нажать соответствующую кнопку: ALT+ подчеркнутая буква Нажать на выбранную кнопку: ENTER Движение назад по опциям: SHIFT+TAB Движение назад по закладкам: CTRL+SHIFT+TAB Движение вперед по опциям: TAB Движение вперед по закладкам: CTRL+TAB На уровень выше (в окнах "Открыть" и "Сохранить как")BACKSPACE Обновить окно загрузки или сохранения: F5 Переключение между кнопками на панели задач: WINDOWS+TAB Отобразить поиск файлов: WINDOWS+F Вывести помощь по WINDOWS: WINDOWS+F1 Отобразить "Выполнить": WINDOWS+R Открыть меню "Пуск": WINDOWS Вывести "Системные опции": WINDOWS+BREAK Открыть "Проводник": WINDOWS+E Свернуть или восстановить все окна: WINDOWS+D Восстановить все окна: SHIFT+WINDOWS+M
ЛЕКЦИЯ 6 «ИНФОРМАТИКА И ЛОГИКА» Информация (данные, машинные команды и т. д.) в компьютере представлена в двоичной системе счисления, в которой используется две цифры – 0 и 1. Электрический сигнал, проходящий по электронным схемам и соединительным проводникам (шинам) компьютера, может принимать значения 1 (высокий уровень электрического напряжения) и 0 (низкий уровень электрического напряжения) и рассматривается как импульсный сигнал, который математически может быть описан в виде двоичной переменной, принимающей также значения 0 или 1. Для решения различных логических задач, например, связанных с анализом и синтезом цифровых схем и электронных блоков компьютера, широко используются логические функции и логические операции с двоичными переменными, которые называются также логическими переменными. Логические переменные изучаются в специальном разделе математики, который носит название алгебры логики (высказываний), или булевой алгебры. Булева алгебра названа по имени английского математика Джорджа Буля (1815–1864), внесшего значительный вклад в разработку алгебры логики. Предметом изучения алгебры логики являются высказывания, при этом анализу подвергается истинность или ложность высказываний, а не их смысловое содержание. Простые высказывания в алгебре логики обозначаются заглавными латинскими буквами: А, В, С, D, … и т. д. Составные высказывания на естественном языке образуются с помощью союзов. В алгебре логики эти союзы заменяются логическими операциями. В соответствии с алгеброй логики любое составное высказывание можно рассматривать как логическую функцию F(А, В, С, …), аргументами которой являются логические переменные А, В, С… (простые высказывания). Логические функции и логические переменные (аргументы) принимают только два значения: «истина», которая обозначается логической единицей – 1 и «ложь», обозначаемая логическим нулем – 0. Логическую функцию называют также предикатом. Действия, совершаемые над логическими переменными для получения определенных логических функций, называются логическими операциями. В алгебре логики используются следующие логические операции. 1. Логическая операция ИНВЕРСИЯ (отрицание). В естественных языках соответствует словам неверно, ложь или частице не, в языках программирования обозначается Not, в алгебре логики обозначается Ā Инверсия каждому простому высказыванию ставит в соответствие составное высказывание, заключающееся в том, что исходное высказывание отрицается. Математическая запись данной операции для логической переменной А будет иметь вид: F= Ā 2. Логическая операция КОНЪЮНКЦИЯ (логическое умножение). В естественных языках соответствует союзу и, в языках программирования обозначается And, в алгебре логики обозначается &. Конъюнкция каждым простым высказываниям ставит в соответствие составное высказывание, являющееся только тогда истинным, когда являются истинными простые высказывания, образующие составное высказывание. Математическая запись данной операции для логических переменных Д В, С, … будет иметь вид: F = A & B & C & … 3. Логическая операция ДИЗЪЮНКЦИЯ (логическое сложение). В естественных языках соответствует союзу или, в языках программирования обозначается Or, в алгебре логики обозначается V. Дизъюнкция каждым простым высказываниям ставит в соответствие составное высказывание, являющееся только тогда истинным, когда хотя бы одно из образующих его высказываний является истинным. Математическая запись данной операции для логических переменных A, В, С, … будет иметь вид: F = AvBvC… 4. Логическая операция ИМПЛИКАЦИЯ (логическое следование). В естественных языках соответствует обороту речи, если…, то …, в языках программирования обозначается If, в алгебре логики обозначается ⇒. Импликация каждым простым высказываниям ставит в соответствие составное высказывание, являющееся ложным тогда и только тогда, когда первое высказывание истинно, а второе высказывание ложно. Математическая запись данной операции для двух логических переменных А и В будет иметь вид: F = A⇒B. 5. Логическая операция ЭКВИВАЛЕНЦИЯ (логическая равнозначность). В естественных языках соответствует обороту речи тогда и только тогда, в алгебре логики обозначается ⇔. Эквиваленция каждым простым высказываниям ставит в соответствие составное высказывание, являющееся истинным тогда и только тогда, когда все простые высказывания, образующие составное высказывание, одновременно истинны или одновременно ложны. Математическая запись данной операции для логических переменных A, В, С… будет иметь вид: F = A⇔B⇔C⇔…
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |