regexp с российским Ленгом

Сессии

Сессии хранятся в расчете на пользователя в памяти (или альтернатива Состояние сеанса ) на сервере. Сессии используют cookie ( сеансовый ключ ) для связи пользователя с сессией. Это означает, что никакие "чувствительные" данные не хранятся в cookie на пользовательской машине.

Сессии обычно используются для поддержания состояния, когда Вы перешли через веб-сайт. Однако они могут также использоваться для содержания объектов, к которым обычно получают доступ. , Только если Состояние сеанса установлено на InProc, если установлено на другой режим Session-State , объект должен также сериализуемый.

Session["userName"] = "EvilBoy";

if(Session["userName"] != null)
  lblUserName.Text = Session["userName"].ToString();

Cookie

Cookie хранятся в расчете на пользователя на пользовательской машине. Cookie является обычно просто небольшим количеством информации. Cookie обычно используются для простого пользовательского предпочтительного ect цветов настроек. Никакая уязвимая информация никогда не должна храниться в cookie.

Вы никогда не не можете полностью доверительный, что в cookie не вмешался пользователь или вне источника однако, если безопасность является большим беспокойством, и необходимо использовать cookie тогда, можно или зашифровать cookie или установить их, чтобы только быть переданными по SSL. Пользователь может очистить свои cookie в любое время или не разрешить куки в целом, таким образом, Вы не можете рассчитывать на них являющийся там просто, потому что пользователь посетил Ваш сайт в прошлом.

//add a username Cookie
Response.Cookies["userName"].Value = "EvilBoy";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(10);
//Can Limit a cookie to a certain Domain
Response.Cookies["domain"].Domain = "Stackoverflow.com";

//request a username cookie
if(Request.Cookies["userName"] != null)
   lblUserName.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);

заметка на полях

стоит упомянуть, что ASP.NET также поддерживает управление состоянием cookieless

8
задан Viacheslav Vedenin 25 November 2017 в 23:23
поделиться

2 ответа

Попробуйте использовать диапазон Unicode:

'/[\x{0410}-\x{042F}]/u'  // matches a capital cyrillic letter in the range A to Ya

Не забудьте флаг / u для Unicode.

В вашем случае:

"#\[name=([a-zA-Z0-9\x{0430}-\x{044F}\x{0410}-\x{042F} .-]+)*]#u"

Обратите внимание, что STAR в вашем регулярном выражении является избыточным. ПЛЮС уже все «съедает». Это будет делать то же самое:

"#\[name=([a-zA-Z0-9\x{0430}-\x{044F}\x{0410}-\x{042F} .-]+)]#u"
18
ответ дан 5 December 2019 в 06:53
поделиться

Обычный скрипт Unicode (поддерживается начиная с pcre 3.3) обеспечивает проверку свойства Cyrillic .

например, замена всех символов, которые не являются ни кириллическими, ни (латинскими) цифрами :

$string = '1a2b3cйdцeуfкбxюy';
echo preg_replace('/[^0-9\p{Cyrillic}]/u', '*', $string);

Вы можете найти документацию по этой функции в http://www.pcre.org/pcre.txt «Свойства символов Unicode».
И вы должны указать флаг PCRE8 (u), как описано на http://docs.php.net/reference.pcre.pattern.modifiers

6
ответ дан 5 December 2019 в 06:53
поделиться
Другие вопросы по тегам:

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