Какова цель испортить объекты Ruby?

select 
datepart(month,getdate()) -- integer (1,2,3...)
,datepart(year,getdate()) -- integer
,datename(month,getdate()) -- string ('September',...)
11
задан Peter Mortensen 17 November 2009 в 00:00
поделиться

2 ответа

Раньше это было довольно неплохо. стандартная практика при написании CGI на Perl. По нему есть даже FAQ. Основная идея заключалась в том, что время выполнения могло гарантировать, что вы неявно не доверяете испорченному значению.

6
ответ дан 3 December 2019 в 08:56
поделиться

преобразовать время во всемирное координированное время, сохранить его, а затем снова выполнить преобразование, чтобы отобразить его?

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

pytz - обычное решение для выбора и преобразования часовых поясов. (Хотя лично я взломал свою менее обширную коллекцию часовых поясов.)

пока он не будет должным образом обработан для вставки в базу данных. Помечая входные данные как испорченные, Ruby обеспечивает удовлетворительную очистку и предотвращает потенциальную атаку с использованием SQL-инъекций.

В качестве примера «древней» (2005 г.) практики кодирования, демонстрирующей, как заражение отслеживалось без таких модулей Perl и Ruby, прочтите старого доброго Джоэла:

http://www.joelonsoftware.com/articles/Wrong.html

7
ответ дан 3 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

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