Используя вывод разности для создания патча

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 . "')");

Это не решит каждую проблему, но это очень хороший ступень. Я оставил очевидные элементы, такие как проверка существования переменной, числа (числа, буквы и т. Д.).

40
задан Karl Richter 20 December 2018 в 19:44
поделиться

4 ответа

Я полагаю, что diff -u oldfile newfile > a.patch используется для создания файлов исправления, хотя некоторый другой переключился, может быть добавлен также (-N?).

Редактирование: хорошо, 4 года спустя и наконец собирающийся объяснять, что означают переключатели:

-u создает Объединенный различный. Объединенные diffs являются видом diffs, который программа патча ожидает получать, как введено. Можно также определить число после u (минута 3, значение по умолчанию 3) для увеличения числа вывода строк. Это - то, в случае, если 3 строки не достаточно уникальны для точного определения всего одного места в программе.

-N обработки отсутствующие файлы, как являющиеся пустым, что означает, это произведет много дополнительного содержания, если один из файлов будет пуст (или посмотрите следующий вопрос).

кроме того, newfile и oldfile могут оба быть каталоги вместо единственных файлов. Вы, вероятно, захотите -r аргумент в пользу этого рекурсивно вызвать любые подкаталоги.

71
ответ дан Powerlord 27 November 2019 в 01:24
поделиться

Если Вы хотите получить тот же вывод исправления как разность SVN, учитывая два различных файла:

различный-Naur file1.cpp file2.cpp

15
ответ дан Andrei Taranchenko 27 November 2019 в 01:24
поделиться

То, что Вы имеете существует необъединенный различный патч, может считать его, но будет неспособно сделать соответствия контекста и, более вероятно, сделает ошибки.

3
ответ дан Sparr 27 November 2019 в 01:24
поделиться

То, что (частичный) файл исправления, хотя было бы лучше, если они предоставили Вам объединенный различный вывод.

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

2
ответ дан Arafangion 27 November 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: