Итерируете свой массив. Если по проверяемой строке indexOf вернул -1, то сразу возвращаете false. Если успешно вышли из цикла - возвращаете безусловное true.
Я вообще не понимаю регулярные выражения, если можно без них, то оно и к лучшему:
Задача такая, сам решить не пробовал:
Есть строка, например "Выпить чаю и съесть несколько вкусных круассанов"
есть массив из отдельных слов или их частей ['скольк', 'руасс', 'есть'].
Надо вернуть true, если каждое из слов есть в искомой строке, причем, как видите, части слов тоже. Порядок слов в массиве роли не играет. В каждом элементе массива только по одному слову, пробелов там нет.
В нашем случае вернет true.
Как реализовать это? В плагине datatables.net такое реализовано
Т.е. на протяжении всего срока пока пользак залогинен в системе, секрет не изменяется?
В таком случае, нет, от CSRF не спасет.
andrewkard пишет:
DeepVarvar
Как злоумышленник может узнать secret жертвы?
DeepVarvar пишет:
Защем ему узнавать? В его примере он всегда одинаковый.
DeepVarvar,
Вы, уважаемый, сами себе противоречите.
Секрет генерируется при авторизации пользователя.
Да, пока пользователь залогинен, секрет остается неизменным. А вы как хотели?
andrewkard прав, утверждая, что злоумышленник не сможет узнать secret жертвы на протяжении всего срока его "залогиненности"
будет ли от CSRF защита вида token=secret
вместо принятой token = salt + ":" + MD5(salt + ":" + secret)
Ситуация, допустим, такая: при авторизации на сервере генерируется secret.
В каждую форму в виде чего угодно (допустим, в виде <input type="hidden" name="token" value="secret"/> ) дописывается это самый секрет. Вопрос: будет ли обеспечена таким образом атака от CSRF?
Мои рассуждения: по мне, так да. Если сайт злоумышленника, на который зашла жертва, отправит запрос на наш сервер, то разницы между двумя токенами я не вижу: что token=secret, что token = salt + ":" + MD5(salt + ":" + secret) не возможно будет угадать.
Я хочу, чтоб где то хранились данные, которые я могу подставлять при POST/GET запросе, да еще так, чтоб они не пересекалась с другими вкладками.
Если так, то зачем куки?
Задача была такой:
Я хочу, чтоб где то хранились данные, которые автоматически бы отправлялись при POST/GET запросе, да еще так, чтоб они не пересекалась с другими вкладками.
ПТО пишет:
можно ли одной и той же куке на одном и том же адресе дать два разных значения
Конечно -- сессии.
Как? Можно куки различать по адресу:
setcookie("testcookie", "value1hostonly", time(), "/", ".example.com", 0, true);
если путь ("/") одинаковый, тот куки с одинаковым именем будут перезаписывать друг друга
Такой вопрос:
можно ли одной и той же куке на одном и том же адресе дать два разных значения, каждое в своем окне, и чтобы они не перезаписали друг друга? Насколько я знаю, нет.
Или в html <head> заголовке можно указать параметр, который будет с каждым запросом автоматически добавляться к запросу?
ну, или второй вариант: перед каждым запросом (синхронным, асинхронным, POST, GET) добавлять в него переменную. Тогда как это сделать, но не перебирать каждый запрос, а чтобы на автомате добавлялось.
задача стоит такая: каждый раз при отправке POST или GET запроса от браузера к серверу нужно передавать определенную переменную. В список отсылаемых переменных (формы или адресной строки типа ?key=val1, или mysite/val1/) включать не хочу.
Я реализовал это с помощью кук, устанавливаешь значение куки, и она с каждым запросом передается на сервер. Удобно, что надо. Но есть один минус: кука устанавливается на все вкладки браузера. То есть, если на одной вкладке в браузере поменять значение куки, то на другой она тоже поменяется. А мне надо, чтобы на каждой открытой вкладке было бы свое значение.
есть какие-нибудь другие способы реализовать это? Может быть, другой механизм?
Адресная строка может быть одна и та же. В одной вкладке - один val1, в другой - val2