Security Warning: этот ответ не соответствует лучшим рекомендациям по безопасности. Эвакуация неадекватна для предотвращения SQL-инъекции , вместо этого используйте подготовленные операторы . Используйте стратегию, изложенную ниже, на свой страх и риск. (Кроме того,
mysql_real_escape_string()
был удален в PHP 7.)Вы могли бы сделать что-то основное:
$safe_variable = mysql_real_escape_string($_POST["user-input"]); mysql_query("INSERT INTO table (column) VALUES ('" . $safe_variable . "')");
Это не решит каждую проблему, но это очень хороший ступень. Я оставил очевидные элементы, такие как проверка существования переменной, числа (числа, буквы и т. Д.).
Я полагаю, что diff -u oldfile newfile > a.patch
используется для создания файлов исправления, хотя некоторый другой переключился, может быть добавлен также (-N?).
Редактирование: хорошо, 4 года спустя и наконец собирающийся объяснять, что означают переключатели:
-u
создает Объединенный различный. Объединенные diffs являются видом diffs, который программа патча ожидает получать, как введено. Можно также определить число после u
(минута 3, значение по умолчанию 3) для увеличения числа вывода строк. Это - то, в случае, если 3 строки не достаточно уникальны для точного определения всего одного места в программе.
-N
обработки отсутствующие файлы, как являющиеся пустым, что означает, это произведет много дополнительного содержания, если один из файлов будет пуст (или посмотрите следующий вопрос).
кроме того, newfile
и oldfile
могут оба быть каталоги вместо единственных файлов. Вы, вероятно, захотите -r
аргумент в пользу этого рекурсивно вызвать любые подкаталоги.
Если Вы хотите получить тот же вывод исправления как разность SVN, учитывая два различных файла:
различный-Naur file1.cpp file2.cpp
То, что Вы имеете существует необъединенный различный патч, может считать его, но будет неспособно сделать соответствия контекста и, более вероятно, сделает ошибки.
То, что (частичный) файл исправления, хотя было бы лучше, если они предоставили Вам объединенный различный вывод.
основной вопрос с тем патчем - то, что он не упоминает, какие файлы изменяются, и так как нет никакого контекста, если, файлы должны быть точны , патч будет неспособен допускать незначительные изменения в файле.