PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (20): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 298
Deonis Отправлено: 30 Марта, 2017 - 20:44:29 • Тема: Переадресация в Nginx на https, кроме определенных файлов • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 1055
Приветствую! Есть задача переадресовывать все запросы на протокол https, кроме файлов robots.txt и sitemap.xml. То есть, чтобы эти файлы были доступны и по http, и https.
Nginx - это далеко не моя область. Вроде бы он не поддерживает несколько условий в if, но как бы сделать что-то в этом роде?
CODE (text):
скопировать код в буфер обмена
  1. if($request_uri != '/sitemap.xml' && $request_uri != '/robots.txt') {
  2.     return 301 https://$host$request_uri;
  3. }
Deonis Отправлено: 07 Октября, 2016 - 10:47:13 • Тема: Формирование ЧПУ-ссылки с точки зрения SEO • Форум: Вопросы новичков

Ответов: 0
Просмотров: 93
Приветствую! Т.к. я чайник в отношении SEO, то появился маленький вопрос. Два примера:
CODE (html):
скопировать код в буфер обмена
  1. // Формируем ссылку с учетом всех категорий и подкатегорий
  2. http://site.com/vsio-dlia-doma/bytovaja-tehnika/krupnaja-bytovaja-tehnika/unitaz-galaxy-s10.html
  3.  
  4. // Формируем ссылку с учетом только родительской категории товара
  5. http://site.com/krupnaja-bytovaja-tehnika/unitaz-galaxy-s10.html
Есть ли принципиальная разница между такими двумя подходами с точки зрения SEO и какой вариант предпочтительней?
Deonis Отправлено: 15 Сентября, 2016 - 17:57:30 • Тема: Переадресация на припаркованный домен, кроме директории админа • Форум: Программирование на PHP

Ответов: 0
Просмотров: 389
Приветствую! Задача вроде бы и не сложная, но справиться не получается.
Есть два домена:
new.com // основной
old.com // припаркованный
Суть состоит в том, чтобы на клиентской части была переадресация с new.com -> old.com, а в админке (директории "/admin/") оставался работать домен new.com. В htaccess уже есть следующие прописанные правила:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
  2. RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
  6. RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Интуитивно понимаю, что нужно добавить что-то в этом роде:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteCond %{HTTP_HOST} !^new.com/admin/
  2. RewriteRule ^(.*)$ http://old.com/$1 [R=301,L]
но в результате разных попыток, получаю ERR_TOO_MANY_REDIRECTS. Буду признателен, если подскажите правильное направление.
Deonis Отправлено: 16 Мая, 2016 - 20:35:33 • Тема: Импорт CSV в базу данных • Форум: Хранение данных, их вывод и обработка

Ответов: 0
Просмотров: 663
Приветствую! Хотелось бы найти оптимальный алгоритм для импорта данных. Начну с маленького абстрактного примера:
CODE (htmlphp):
скопировать код в буфер обмена
  1. |Назв. | Бренд |Цена|Кол.|       Цвета       |
  2. ------------------------------------------------
  3. Товар 1;Samsung;5555;1000;белый,синий,красный;

В данном случае, нужно:
1. В таблицу `products` записать/обновить: Название, Цену, Кол-во, а вместо названия бренда - его ID из соответствующей таблицы (напр., `brand`). Если такого бренда не существует, то предварительно записать его.
2. Варианты цветов, записать в другую таблицу. Пусть это будет `product_option`, куда записывается id товара, и id цвета. Как и с брендами, если цвета не существует, то его нужно сначала внести в таблицу `colors`.
Имеет ли смысл записывать все данные сначала во временную таблицу и писать процедуру для всех вышеперечисленных действий или же просто обрабатывать в цикле на уровне PHP каждую строку? Второй способ смущает тем, что для каждой строки реальных данных, возможно придётся делать до ~20 запросов. Сервер (VDS) слабенький: одно ядро 3.2 ГГц, 1Gb оперативки. Поэтому первый вариант, по чисто субъективному мнению, должен быть менее расточительный. К примеру, для тех же брендов, получится всего два запроса:
1. Первым запросом запись/обновление в таблицу `brand` - INSERT ... ON DUPLICATE KEY UPDATE
2. Вторым запросом - замена названий на идентичные им ID
Вроде бы и проще, и менее затратно по ресурсам, однако так ли оно на самом деле - не знаю.
В общем, хотелось бы послушать, как справлялись те, кто с данной задачей уже сталкивался и какие способы проверил на практике. Спасибо.
Deonis Отправлено: 15 Ноября, 2015 - 17:59:10 • Тема: Аякс сообщения • Форум: Вопросы новичков

Ответов: 14
Просмотров: 739
torens, если форма подгружается динамически, то необходимо использовать делегированную обработку событий.
Deonis Отправлено: 15 Ноября, 2015 - 17:50:50 • Тема: Расположить три div в одну строку с заданной шириной • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 1161
Кроме flexbox, как предложил выше SAD, можно для контейнера задать display: table;, а для дочерних div-ов - display: table-cell;. Ну и ширина контейнера 100% и для центрального div-а - 300px;
Deonis Отправлено: 14 Ноября, 2015 - 16:59:44 • Тема: TinyMCE и картинки • Форум: Программное обеспечение

Ответов: 5
Просмотров: 1654
В настройках TinyMCE есть параметр relative_urls. Установите значение false и пути будут абсолютными.
Deonis Отправлено: 08 Ноября, 2015 - 02:47:31 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
DeepVarvar пишет:
может оставить все как есть?
От меня действительно никто не требовал переделывать авторизацию и всё, что с ней связано и за это, я думаю, мне не заплатят, НО я пять лет обходил стороной эту тему, уговаривая себя тем, что мол "если кому-то очень надо будет, то он всё равно взломает". Может оно так и есть, но пусть это уже будет профи, чем какой-то сопляк-школьник... не так обидно будет ))
DeepVarvar пишет:
может лучше взять серьезный фреймворк?
Нет уж, переписывать всю CRM - на это моего энтузиазма не хватит ))
DeepVarvar пишет:
Перенести хранение сессии в БД
Я так понимаю, что тут будет в помощь session_set_save_handler() или есть другие варианты?
Мелкий пишет:
всё-таки надо прочитать и понаписать текста
В общем и целом понял, но иллюзий не строю и понимаю, что тут надо копать гораздо глубже.

Собственно, господа, всем низкий поклон за ответы, очень полезно и моё "белое пятно" по этой теме начало потихоньку закрашиваться Подмигивание
Deonis Отправлено: 07 Ноября, 2015 - 02:00:49 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
teddy пишет:
В двойной сверке с данными, которые хранятся на сервере, нет необходимости.
обезопасить себя от CSRF атак.... токены. Желательно одноразовые.
Спасибо, понял.
teddy пишет:

Deonis пишет:

$_SESSION['login'] === true;
Так это, вроде бы, не надёжно.

Лучше проверить например на isset, потому что данного ключа может просто не существовать.
Тут я засомневался немного в другом ключе, в плане идентификации пользователя, который работает в данной сессии. Наверно, это уже относится к XSS, но если украсть сессию, то обычное булевое значение, указывающее на то, что юзер залогинен, даст полный доступ ко всем его данным. Хотя, это рассуждения с дилетантской точки зрения.
Но в целом, спасибо за советы.
Deonis Отправлено: 06 Ноября, 2015 - 19:33:53 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
DeepVarvar пишет:
Краткий список задач по пунктам тебя устроит?
Устроит.

P.S. Впрочем, забудьте. А то у меня создается ощущение, что я клянчу.
DeepVarvar пишет:
И как это тебя оправдывает?
Я не ищу оправданий, т.к. они мне не нужны. Я объяснял ситуацию и не более того.
DeepVarvar пишет:
Работа то -- твоя.
Естественно! Поэтому я и не просил, чтоб кто-то делал её за меня. Вы видели где-то в моем вопросе что-то вроде кода, с просьбой поправить его? Вопрос риторический. А если вы считаете, что делиться личным опытом или указывать на какие-то конкретные ошибки с конструктивным пояснением - это приравнивается к "сделайте за меня", то пардоньте, что потревожил.
Deonis Отправлено: 06 Ноября, 2015 - 16:59:02 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
DeepVarvar пишет:
[много букав]
Хоть бы что-то по существу... Я же писал, что разработка не моя. А вот я пытаюсь понять, как привести её в божеский вид.
Deonis Отправлено: 06 Ноября, 2015 - 16:06:32 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
Viper пишет:
у вас оба хеша в БД?
Второго хеша нет. Залогинился юзер, записываем хеш в БД и этот же в сессию. Дальше, при каждом запросе, сравнивается хеш из сессии с записанным в БД.

P.S. Этот же хеш используется для защиты от CSRF в формах. Возможно, что под вторым хешем вы поняли это и как раз, возможно, что это лишнее?
Deonis Отправлено: 06 Ноября, 2015 - 10:56:50 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
Viper пишет:
Т.е. сессия в БД, с ней и работаем, незачем ещё писать в файл.
Можете кидаться камнями, но не понял. )) Как сократить и как тогда проверять, что юзер залогинен? Просто что-то вроде:
Так это, вроде бы, не надёжно.
Deonis Отправлено: 06 Ноября, 2015 - 10:31:32 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
Viper пишет:
А какая разница?
Я просто пытаюсь разобраться. Организация безопасности - это моё самое слабое место, т.к. я к этому практически не имел отношения (до сегодняшнего дня). Мне досталась "в наследство" CRM, с которой я пытаюсь разобраться и, по возможности, оптимизировать её. На данный момент было организовано так:
1. Если пользователь не аутентифицирован, то генерируется случайный хеш, который используется, как токен в форме логина.
2. После успешной авторизации, этот хеш записывается в БД и в сессию.
3. При любом запросе, хеш из сессии сверяется с хешем в БД. Если гуд, то пользователь авторизован и работа продолжается, если нет, то выбрасывается на страницу логина.
4. Кроме того, этот хеш используется в формах в скрытых полях. Как я понимаю - это для защиты от CSRF.

Вот я и пытаюсь разобраться: нет ли тут чего лишнего и сделано ли по уму, может можно что-то упростить, а может надо кардинально что-то поменять, если допущены грубые ошибки.
Deonis Отправлено: 06 Ноября, 2015 - 09:01:40 • Тема: Нужно ли сверять токен в БД? • Форум: HTTP и PHP

Ответов: 76
Просмотров: 9621
Приветствую, господа! У меня есть пара маленьких вопросов в плане безопасности, а точнее её усилении. После успешной аутентификации, пользователю в сессию записывается токен, который подставляется во все формы и сверяется на сервере. Есть ли смысл записывать токен в БД и при каждом запросе сверять его еще и там? Вот сижу и думаю: если на одну чашу весов положить такую дополнительную меру, а на другую - мучит БД при каждом запросе, то сто́ит ли игра свеч? Да и вообще, имеет ли смысл использовать токен после успешной авторизации, если работа ведется по SSL? Может быть достаточно просто проверять: есть сессия или нет?

Страниц (20): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB