Новость от 16.06.2009
"ФАС 0тменила латиницу на сайте г0сзаказ0в"
http://www.infox.ru/business/crime/2009/06/16/FAS_otmyenila_kontra.phtml
ФАС запретила использовать в тексте госзаказов латинские буквы и заменять букву «О» цифрой «0». Теперь чиновники не смогут писать такие словосочетания, как «би0л0гичeская бeз0пaсн0cть» и «рek0нcтрукция пр0изв0дствa». Это распоряжение может привести к отмене контрактов на 3,2 млрд рублей и обернуться уголовной ответственностью для лиц, размещавших неправильные заказы.

В этой небольшой новости показано как недочеты (сознательные или неосознанные) разработки могут привести серьезным проблемам. В данном случае разработчикам не указали, а они не подумали, требование о том, какие буквы могут быть использованы при формировании названий. А ведь еще можно вспомнить про непечатные символы, теги и т.п. Но защита от тегов в основном делается современными разработчиками изначально, но вот на диапазон символов - не часто. Еще реже (а вернее никогда еще не видел, кроме как в одном из своих проектов) встречается защита от комбинации латинских, русских букв и цифр. Реализация такой защиты проста, но в ней следует учитывать:
  • Что в тексте могут быть восстребованы латинские символы (например, фирменные названия);
  • Могут требоваться цифры (для обозначения номера, величины и т.п.);
  • Могут требоваться разделители (не только пробелы, но и дефисы, запятые и т.п., например, у нас в одном из проектов забыли внести в список разделителей "-" и через год возникла проблема с добавлением человек с составной фамилией);
  • Следует запретить чередование символов одного алфавита с символами другого между двумя разделителями;
  • Возможно ограничение на чередование регистров символов одного алфавита.
Реализовать все это достаточно легко:
Создаются массивы / строки алфавитов с допустимыми символами (в зависимости от количества языков) и дополнительный массив разделителей, после этого в один проход делается анализ входной строки до первой ошибки (но можно анализировать и все ошибки).

P.S. Что касается самого сайтай zakupki.gov.ru - то это один из самых отвратительных сайтов по реализации функциональности. Складывается ощущение что его создавали для специального затруднения поиска заказов. А сайт, видимо, сделан только для соблюдения формальных (по закону) требований к организацию открытости закупок.
Last modified: Thursday, 14 July 2011, 6:47 PM