Вывод перенаправления C++

Это зависит от того, какую очистку Вы делаете.

Для защиты от Внедрения SQL, ничего не делайте к самим данным. Просто используйте подготовленные операторы и тот путь, Вы не должны волноваться по поводу питания с данными, что пользователь, вводимый, и наличие его негативно, влияет на Вашу логику. Необходимо санировать немного, чтобы гарантировать, что числа являются числами, и даты являются датами, так как все - строка, как это прибывает из запроса, но не пытайтесь сделать любую проверку, чтобы сделать вещи как ключевые слова блока или что-либо.

Для защиты от нападений на XSS, вероятно, было бы легче зафиксировать данные, прежде чем это будет сохранено. Однако как другие упомянули, иногда хорошо иметь нетронутую копию точно, что вводимый пользователь, потому что, как только Вы изменяете его, это потеряно навсегда. Это почти слишком плохо нет надежного способа гарантировать Вам, приложение только производит санированный HTML путем, можно удостовериться, чтобы Вы не становились пойманными Внедрением SQL при помощи подготовленных запросов.

5
задан paul simmons 19 November 2009 в 14:32
поделиться

2 ответа

Вы можете использовать freopen () в stdout для перенаправления stdout в файл.

7
ответ дан 14 December 2019 в 04:40
поделиться

printf будет печатать в файловый дескриптор 1, вы можете закрыть его и откройте файл, это даст вам еще один fd, возможно, 1, потому что это самый низкий доступный fd, если вы не были достаточно быстрыми.

Если вы просто close (1); , а затем int fd = open (file); fd должен быть 1, если никто не открывал что-то между закрытием и открытием. В этот момент любой, кто выводит на fd номер 1, будет печатать в ваш файл.

Это связано с тем, что система должна предоставить вам наименьший доступный номер дескриптора файла , поэтому он выдаст вам 1, что именно там printf пишет.

Как упоминалось в @roe, вы могли бы предпочесть сначала выполнить dup () вместо 1, чтобы получить другой номер fd, из которого вы можете печатать в stdout.

1
ответ дан 14 December 2019 в 04:40
поделиться
Другие вопросы по тегам:

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