---------- Добавлено 16.02.2017 в 17:50 ----------
Работает. По скорости так сходу не могу судить... Верю на слово, ибо сам с индексами никогда не работал.. слышал лишь что существенно ускоряется поиск в таблице.
Тип столбца поменял на varchar(255), мне там длины хватит.
Dinozavr: 1. Юзер пришёл на ваш сайт без кук. 2. Вы это заметили и послали его на логин 3. Юзер представился "Dinozavr" и предоставил правильный пароль 4. Вы ему в куку в переменную "usvar" написали "Dinozavr" 5. При запросе следующей страницы вы проверили "usvar" и нарисовали страницу согласно правам "Dinozavr"
Я там в первом сообщении сразу написал условие, что авторизация на отдельной спрятанной странице только для себя. Для редактирования страниц.
Это же в корне меняет ситуацию.
Общего доступа к авторизации нет, так же нет стандартных переменных и популярных скриптов, применяемых в CMS.
Пока не планируется публичная авторизация и регистрация. На всех сайтах незаметно для посетителей зарегистрирован только один юзер.
Насколько я теперь понял, в моей ситуации вариантов у посетителей нет даже заподозрить, что проверяется кука на страницах с редактором. Скрипты XSS на сторонних сайтах мою куку тоже не увидят.
Были сомнения, но теперь я спокоен.
Извиняюсь за непонятки и сумбурные пояснения.
---------- Добавлено 01.05.2016 в 09:48 ----------
dlyanachalas: хранить на сервере в информации о сессии её ip-адрес. При несовпадении - отказывать.
Для сайтов с финансовой ответственностью это нормально. На Рапиде похоже так сделано.
Для простого сайта с посещением не более 6к в сутки - это наверное всё же перебор.
Пару часиков всё же попарился. Перечитал всё что мог по XSS уязвимостям.
dlyanachalas: Ну вы полегче. Я подобным не занимаюсь.
Да это понятно. Я же образно.
Имелся в виду сайт с хакерским скриптом, где могут прочитать мои куки. Но они же для их сайта, не для моего.
---------- Добавлено 30.04.2016 в 19:33 ----------
Оптимизайка: или "дыр" в коде сайта,
Вроде все гет и пост переменные отфильтровал и по длине и по наличию опасных символов или сочетаний символов. Ни php ни js не должны отработать нигде ни в каких вариантах, ни в прямом ни в закодированном виде.
Dinozavr: Народ, либо я запарился либо вы. Кука передаётся в открытом виде в заголовках. Если я там увижу usvar и своё имя, то я обязательно поставлю туда admin.
Где там? У себя в браузере? С чего это у вас там появится моя usvar?
Забыл сразу написать, что сайты все самодельные.
Стандартных способов авторизации и переменных популярных CMS нету.
---------- Добавлено 30.04.2016 в 09:40 ----------
dlyanachalas: Если сайт работает с данным id, то перехватив это значение
Вопрос как перехватить?
Если даже я зайду со своей кукой usvar на ваш хакерский сайт, он её не покажет, потому что кука для другого сайта и в заголовке её не будет.
Или как?
Какие варианты есть перехватить чужую куку с никому неизвестным именем?
Здесь usvar - абстрактное имя куки (user variable). На самом деле её имя и значение известны только мне, моему браузеру и моему серверу.
Похоже я туплю, действительно. Запрос от сервера - это похоже я нафантазировал...
Браузер сам отдаёт куки в глобальный массив сервера, если они есть. А если их нет, то и дела нет.
Rokkkin: Что угодно можно прописать
Как прописать? Не зная даже имя переменной?
---------- Добавлено 29.04.2016 в 20:34 ----------
На странице эти прописи ограничится одной строкой
if ($_COOKIE["usvar"] == 'blabla52325'){ $user = "ok"; }
Дальше нужна только переменная $user
---------- Добавлено 29.04.2016 в 21:07 ----------
У меня такой скрипт работает на многих страницах, где мне нужно редактировать тексты.
Скрипт мой браузер узнаёт по куке и открывает доступ к редактору.
Что-то сегодня одолели сомнения... решил посоветоваться, насколько это безопасно.
По идее, если даже узнают имя куки, то подобрать значение им опять проблема. А то что они впихнут в куку - нигде тоже использоваться не будет. Не совпадает с моим значением - всё, досвидос!
Действительно, добавить можно...
А к старым кодам и блокам похоже уже доступа нету...? надо заменять скрипты на новые...
Попробую поменять...
Спасибо!
ОК.
Индекс FULLTEXT встал.
Теперь попробую поменять запрос.
---------- Добавлено 16.02.2017 в 17:50 ----------
Работает. По скорости так сходу не могу судить... Верю на слово, ибо сам с индексами никогда не работал.. слышал лишь что существенно ускоряется поиск в таблице.
Тип столбца поменял на varchar(255), мне там длины хватит.
Спасибо, парни, за помощь!
Тип поля выставлен text. Длина/значения - пусто. Что туда вписать?
---------- Добавлено 16.02.2017 в 17:20 ----------
как я понял запрос должен выглядеть примерно так:
SELECT name,desc,text FROM table WHERE MATCH(desc) AGAINST('.$ic0.')
Индексами ещё не пользовался... пробую...
FULLTEXT на столбец.... Не получается... phpMyAdmin пишет ошибку #1170 - BLOB/TEXT column 'text' used in key specification without a key length
А как же потом разделять?
В качестве param1, param2 будут элементы массива и каждому должен соответствовать свой desc
А потом в тексте происходит подмена элементов массива ссылками на файл.
У меня сейчас так работает:
Работает нормально, но хотелось бы запрос отдельно от цикла...
1. Юзер пришёл на ваш сайт без кук.
2. Вы это заметили и послали его на логин
3. Юзер представился "Dinozavr" и предоставил правильный пароль
4. Вы ему в куку в переменную "usvar" написали "Dinozavr"
5. При запросе следующей страницы вы проверили "usvar" и нарисовали страницу согласно правам "Dinozavr"
Я там в первом сообщении сразу написал условие, что авторизация на отдельной спрятанной странице только для себя. Для редактирования страниц.
Это же в корне меняет ситуацию.
Общего доступа к авторизации нет, так же нет стандартных переменных и популярных скриптов, применяемых в CMS.
Пока не планируется публичная авторизация и регистрация. На всех сайтах незаметно для посетителей зарегистрирован только один юзер.
Насколько я теперь понял, в моей ситуации вариантов у посетителей нет даже заподозрить, что проверяется кука на страницах с редактором. Скрипты XSS на сторонних сайтах мою куку тоже не увидят.
Были сомнения, но теперь я спокоен.
Извиняюсь за непонятки и сумбурные пояснения.
---------- Добавлено 01.05.2016 в 09:48 ----------
хранить на сервере в информации о сессии её ip-адрес. При несовпадении - отказывать.
Для сайтов с финансовой ответственностью это нормально. На Рапиде похоже так сделано.
Для простого сайта с посещением не более 6к в сутки - это наверное всё же перебор.
ТС, никак, не парься.
Пару часиков всё же попарился. Перечитал всё что мог по XSS уязвимостям.
Ну вы полегче. Я подобным не занимаюсь.
Да это понятно. Я же образно.
Имелся в виду сайт с хакерским скриптом, где могут прочитать мои куки. Но они же для их сайта, не для моего.
---------- Добавлено 30.04.2016 в 19:33 ----------
или "дыр" в коде сайта,
Вроде все гет и пост переменные отфильтровал и по длине и по наличию опасных символов или сочетаний символов. Ни php ни js не должны отработать нигде ни в каких вариантах, ни в прямом ни в закодированном виде.
Вот с куками запутался немного...
И меня загоняете в ступор...
Народ, либо я запарился либо вы. Кука передаётся в открытом виде в заголовках. Если я там увижу usvar и своё имя, то я обязательно поставлю туда admin.
Где там? У себя в браузере? С чего это у вас там появится моя usvar?
Забыл сразу написать, что сайты все самодельные.
Стандартных способов авторизации и переменных популярных CMS нету.
---------- Добавлено 30.04.2016 в 09:40 ----------
Если сайт работает с данным id, то перехватив это значение
Вопрос как перехватить?
Если даже я зайду со своей кукой usvar на ваш хакерский сайт, он её не покажет, потому что кука для другого сайта и в заголовке её не будет.
Или как?
Какие варианты есть перехватить чужую куку с никому неизвестным именем?
Здесь usvar - абстрактное имя куки (user variable). На самом деле её имя и значение известны только мне, моему браузеру и моему серверу.
Только сделайте кнопку разлогина
Есть такая.
Ну теперь отлегло хоть..
А то после взлома джумлы уже всего боюсь...
Всем спасибо!!!
Похоже я туплю, действительно. Запрос от сервера - это похоже я нафантазировал...
Браузер сам отдаёт куки в глобальный массив сервера, если они есть. А если их нет, то и дела нет.
Что угодно можно прописать
Как прописать? Не зная даже имя переменной?
---------- Добавлено 29.04.2016 в 20:34 ----------
На странице эти прописи ограничится одной строкой
if ($_COOKIE["usvar"] == 'blabla52325'){ $user = "ok"; }
Дальше нужна только переменная $user
---------- Добавлено 29.04.2016 в 21:07 ----------
У меня такой скрипт работает на многих страницах, где мне нужно редактировать тексты.
Скрипт мой браузер узнаёт по куке и открывает доступ к редактору.
Что-то сегодня одолели сомнения... решил посоветоваться, насколько это безопасно.
По идее, если даже узнают имя куки, то подобрать значение им опять проблема. А то что они впихнут в куку - нигде тоже использоваться не будет. Не совпадает с моим значением - всё, досвидос!
Или я что-то опять туплю?
Можно дописать else unset($_COOKIE);