Аналогично этому вопросу , но меня не очень волнует, какие символы вызовут/не вызовут ошибку. Мне больше любопытно, какой метод я могу вызвать, чтобы проверить для себя, вызовет ли текущая строка указанное выше сообщение об ошибке.
Чтобы дать немного предыстории, я создаю случайные пароли, когда пользователь забывает свой и нуждается в сбросе. К сожалению, недавно генератор случайных паролей «случайно» создал пароль с . Это привело к тому, что страница сломалась, когда пользователь попытался войти с ней.
Как упоминалось во многих сообщениях по этой теме,ValidateRequest=false
(или
для.NET 4.0 )можно использовать для отключения проверки.NET на наличие этих эксплойтов, но я не вижу причин терять этот дополнительный уровень безопасности, когда я создаю строку в первое место. И просто приказать генератору случайных чисел повторно -рандомизировать неполный список(<
, и т. д. )не кажется самым чистым решением, поэтому я хотел бы использовать тот же метод проверки, который использует.NET.
Объяснение Microsoft того, о каких эксплойтах идет речь и что делается для защиты от них здесь .
Этот парень рассказывает о поиске функции под названием IsDangerousString
после изучения Reflector, но я не могу найти эту функцию, чтобы использовать ее. Также он имеет в виду.NET 1.1, а я работаю с.NET 3.5
-. 121 ---1618732-
У меня есть 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
и тд..