Как проверить, будет ли строка вызывать ошибку «Обнаружено потенциально опасное значение Request.Form…»

Аналогично этому вопросу , но меня не очень волнует, какие символы вызовут/не вызовут ошибку. Мне больше любопытно, какой метод я могу вызвать, чтобы проверить для себя, вызовет ли текущая строка указанное выше сообщение об ошибке.

Чтобы дать немного предыстории, я создаю случайные пароли, когда пользователь забывает свой и нуждается в сбросе. К сожалению, недавно генератор случайных паролей «случайно» создал пароль с &#. Это привело к тому, что страница сломалась, когда пользователь попытался войти с ней.

Как упоминалось во многих сообщениях по этой теме,ValidateRequest=false(или для.NET 4.0 )можно использовать для отключения проверки.NET на наличие этих эксплойтов, но я не вижу причин терять этот дополнительный уровень безопасности, когда я создаю строку в первое место. И просто приказать генератору случайных чисел повторно -рандомизировать неполный список(<, &#и т. д. )не кажется самым чистым решением, поэтому я хотел бы использовать тот же метод проверки, который использует.NET.

Объяснение Microsoft того, о каких эксплойтах идет речь и что делается для защиты от них здесь .

Этот парень рассказывает о поиске функции под названием IsDangerousStringпосле изучения Reflector, но я не могу найти эту функцию, чтобы использовать ее. Также он имеет в виду.NET 1.1, а я работаю с.NET 3.5

-. 121 ---1618732-

Как перебрать список словарей в python?У меня есть список словарей на питоне, т.е. listofobs = [{'timestamp' :datetime.datetime (2012, 7, 6, 12, 39, 52 ), 'ip' :u'1.4. 128.0', 'пользователь' :u'lovestone'},{'timestamp' :datetime.datetime (2012, 7, 6,...

У меня есть list of dictionaryв питоне, т.е.

listofobs = [{'timestamp': datetime.datetime(2012, 7, 6, 12, 39, 52), 'ip': u'1.4.128.0', 'user': u'lovestone'}, {'timestamp': datetime.datetime(2012, 7, 6, 12, 40, 32), 'ip': u'192.168.21.45', 'user': u'b'}]

Я хочу использовать все ключи и значения переменной listofobsв шаблоне Django -. Например:

Для первой итерации:

timestamp = 7 july 2012, 12:39 Am
ip = 1.4.128.0
user = lovestone

и для второй итерации:

 timestamp = 7 july 2012, 12:40 Am
 ip =  192.168.21.45
 user = b

и тд..

5
задан Amit Pal 6 July 2012 в 23:31
поделиться