Gorets
-
Публикации
116 -
Зарегистрирован
-
Посещение
-
Дней в лидерах
1
Сообщения, опубликованные пользователем Gorets
-
-
При формировании define( 'DOMAIN', $domain_cookie ); учитывать возможные настройки сервера, иначе куки и сессии выставляются для www.site.org.ua и на info.site.org.ua уже не доступны.
Я у себя прописал в .htaccess
php_value session.cookie_domain .site.org.ua
необходимо проверять:$currentCookieParams = session_get_cookie_params(); $currentCookieParams["domain"];
и если домен задан настройками сервера, то отдавать этим настройкам предпочтение.
-
Сделать единую точку входа для всех AJAX запросов сайта!
Ну это же просто идиотизм во всех файлах /engine/ajax/ дублировать один и тот же код!
Как вариант все запросы отсылать на /index.php а потом по заголовку HTTP_X_REQUESTED_WITH отлавливать AJAX и перенаправлять в нужное место.
-
запрос для извергов
зато прекрасно справляется со свое задачей
-
В мастере оптимизации есть пересчёт статистики, если не ошибаюсь он произведёт обновление кол-ва ПМ.
ошибаетесь... я предложил этот вариант разработчику скрипта включить в ДЛЕ, но получил отказ.
Я прекрасно понимаю, что это может понадобиться единицам, но всё же...
-
Мастер оптимизации -> 4. Очистка персональных сообщений пользователей
Вы можете очистить все персональные сообщения ваших пользователей
А не сильно ли кардинально? В базе полно нормальных сообщений!
-
После массовой рассылки спамерских ПМ пользователям сайта пришлось вручную в таблице dle_pm удалять строки т.к. другого иного стандартного способа управления ПМ в DLE не существует.
После удаления записей возникла необходимость пересчитать общее количество и количество непрочитанных ПМ в таблице пользователей dle_users
Предлагаю вниманию один из возможных вариантов решения данной задачи. Достаточно выполнить один запрос к базе данных:
update `dle_users` u left join ( select usr.user_id, usr.name, CASE WHEN ISNULL(pm.kvo) THEN 0 ELSE pm.kvo END as pm_all , CASE WHEN ISNULL(pm_unread.kvo) THEN 0 ELSE pm_unread.kvo END as pm_unread from `dle_users` usr left join ( select `user`, count(`user`) as kvo from dle_pm p where p.folder='inbox' group by p.`user`) pm on usr.`user_id` = pm.`user` left join ( select `user`, count(`user`) as kvo from dle_pm p2 where p2.folder='inbox'and p2.pm_read='no' group by p2.`user`) pm_unread on usr.`user_id` = pm_unread.`user` ) pm_select on pm_select.user_id = u.`user_id` set u.`pm_all` = pm_select.pm_all, u.`pm_unread` = pm_select.pm_unread
код приведен для стандартного префикса таблиц 'dle_'
Тестировалось на DLE 9.4, но быстрее всего будет актуально для всех версий скрипта за последние пару лет.
-
Временное решение нашел, отключил блокировку после 3 ошибок авторизации, но почему оно возникает, если включено?
Быстрее всего проблемы в настройках хостинга. Для движка все пользователи видны с одного IP, а не со своих реальных, вот и происходит блокировка для всех после того, как хоть кто-то один введет 3 раза неверный пароль.
Так что трясите админов, пусть нормально настраивают хостинг.
-
Разделить понятия "Включить поддержку регистрации и авторизации на сайте" на два отдельных. Мне нужно, чтобы пользователи могли авторизовываться, но не регистрироваться. Регистрировать я их буду сам в админке.
-
Последовательность шрифтов в дефолтовых шаблонах и в админке сменить на font-family: verdana,arial,Tahoma,helvetica,sans-serif; а то под линуксом всё смотрится очень некрасиво.
-
Так намного удобнее будет работать с авторизацией на поддоменах сайта, т.е. авторизовавшись на основном сайте site.ru эта-же авторизация будет актуальна и на help.site.ru
Это давно уже стандартная возможность скрипта и ничего не нужно делать или дописывать. Авторизация автоматически распространяется и домен и все его поддомены.
К сожалению Вы немного ошибаетесь. Cookie dle_user_id действительно устанавливаются для домена .site.ru а вот куки сессий устанавливаются жестко www.site.ru и соответственно потом не доступны на help.site.ru
В итоге залогиниться получается и на сайте и автоматом на поддоменах по ($_COOKIE) , а вот выполнить logout получается только в одном месте т.к. не доступна кука с сессией, которую надо бы удалить, и во втором месте идет авторизация по этой оставшейся сессии.
-
По аналогии с функцией set_cookie() сделать функцию set_session() и все вызовы в скриптах @session_start (); делать через новую функцию.
Пример функции:
define( 'DOMAIN', ".site.ru" ); set_session() { $currentCookieParams = session_get_cookie_params(); session_set_cookie_params( $currentCookieParams["lifetime"], $currentCookieParams["path"], DOMAIN, $currentCookieParams["secure"], $currentCookieParams["httponly"] ); }
Так намного удобнее будет работать с авторизацией на поддоменах сайта, т.е. авторизовавшись на основном сайте site.ru эта-же авторизация будет актуальна и на help.site.ru
- 1
-
На сколько я вижу, то проблеме уже как минимум месяц Bug #4306, но решения еще нет. Может стоит временно откатиться на старую версию редактора с внесением в него тега media?
У меня на сайте оперой пользуется порядка 35% пользователей и все они не смогут добавить новость...
-
www.stakhanov.org.ua
ДЛЕ 9.3 в админке в визинг редакторе не вставляется текст по ctrl+v
Браузер Опера 11.10
-
Это пожелание, но похоже это интересно только мне, поэтому придется писать самому.
-
Если есть правила, значит и есть те, кто их нарушает.
Зачастую пользователей приходится наказывать баном за нарушение какого-то определенного пункта правил. И постоянно приходится в описании причины бана что-то описывать, чтобы объяснить за что юзеру закрыли доступ к сайту.
Я предлагаю переделать модуль "Правила сайта" и сделать его более гибким:
- каждый пункт правил сделать отдельной записью в базе
- предусмотреть древовидный вариант Правил
- при бане пользователя дать возможность отмечать чекбоксами именно те пункты, которые нарушил пользователь
- забаненному пользователю выводить пункты, по которым его наказали
- в профиле пользователя добавить признак "Принял правила сайта"
- сбрасывать данный признак при бане, чтобы потом пользователю опять пришлось подтверждать принятие правил
- без признака "Принял правила сайта" приравнивать пользователя к гостям
- 2
-
Vladimir Gorobets,
Ничего не понял. Ваши письма доходят но попадают в спам? И Рамблер вам посоветовал добавить заголовок Content-Transfer-Encoding?
Да, письма регистрации на рамблер стали возвращаться с пометкой спам. Я обратился в поддержку рамблера и выслал пример ответа их сервера на письмо с регистрацией. После этого они и написали про несоответствие стандартам.
вот пример такого письма:
Hi. This is the qmail-send program at node.realhosting.com.ua.I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
<sovos@rambler.ru>:
81.19.66.234 failed after I sent the message.
Remote host said: 554 5.7.1 Spam message rejected; If this is not spam
contact abuse at rambler-co.ru
--- Below this line is a copy of the message.
Return-Path: <info@stakhanov.org.ua>
Received: (qmail 23910 invoked by uid 48); 24 Aug 2010 15:49:25 +0300
Date: 24 Aug 2010 15:49:25 +0300
Message-ID: <20100824124925.23901.qmail@node.realhosting.com.ua>
To: sovos@rambler.ru
Subject: =?windows-1251?b?wOry6OLg9uj/IODq6uDz7fLg?=
MIME-Version: 1.0
Content-type: text/plain; charset="windows-1251"
From: "=?windows-1251?b?0fLg9eDt7uI6IGPg6fIg4+7w7uTgLiDN7uLu8fLoLCDu4fr/4uvl7ej/LCDq4PLg6+7jIO/w5eTv8Oj/8ujpIOgg9Ojw7CDR8uD14O3u4uA=?="
<info@stakhanov.org.ua>
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: DLE PHP
-
Vladimir Gorobets,
это же для передачи вложений по E-mail, DLE не шлет вложений, он отправляет обычные текстовые письма.
Продолжение переписки:
>так что, письма помечаются как спам только из-за отсутвия этого
>заголовка? ведь месяц назад таких проблем не было.
>Нет, есть еще некоторые проблемы, но добавить этот заголовок будет достаточно, чтобы Ваши письма проходили.
Для меня тоже кажется это немного странным.
-
Поддержка Рамблера говорит что:
Здравствуйте.Ваши письма не соответствуют стандартам RFC.
По rfc2047, если в теме письма присутствуют 8-битные символы, то заголовок Content-Transfer-Encoding обязателен.
Версия ДЛЕ 8.5 stakhanov.org.ua
-
1. Систему кэширования ДЛЕ переписать в отдельный класс с возможностью выбирать тип кэша: на файлах, как сейчас или к примеру memcached.
2. Для снижения нагрузки на базу данных таблицу dle_users разделить на 2 таблицы к примеру dle_users и dle_users_info. В первой таблице оставить поля, необходимые для авторизации пользователя и все часто меняющиеся поля, а во вторую таблицу вынести поля, которые изменяются очень редко: info, signature, fullname, foto и т.д.
3. Данные из таблицы dle_users_info кэшировать, чтобы снизить нагрузку mysql.
-
Пароль можно сменть совершенно любому пользователю сайта и потом зайти с его правами. В основном наверно меняли пароль пользователю с id=1 т.е. админу, а дальше делай с сайтом что хочешь. Действительно дырка ОЧЕНЬ опасная, поэтому предупредите всех своих знакомых, которые могут использовать DLE 8.2, чтобы они в срочном порядке ставили патч.
Если же Вы не можете зайти на свой сайт под старым паролем, то на 99% Ваш аккаунт взломан. Дальше надо ставить патч и искать, что злоумышленники могли натворить с сайтом. Например добавить в админы еще одного пользователя, слить бэкап Вашей базы, накидать спам-ссылок в новости и т.д. Желательно проверить логи сервера, чтобы разобраться что-же именно делал злоумышленник на сайте.
Еще раз напоминаю, что дырка касается только DLE версии 8.2, так что остальным опасаться не надо.
-
Сделать систему приватных сообщений наподобии как сейчас сделано на одноклассниках.
-
Всех благ родителям и карапузу!
-
engine/editor/jscripts/tiny_mce/plugins/typograf/handler.php
вот в таком виде у меня заработало нормально
<?php if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = array_map('stripslashes_deep', $_POST); $_GET = array_map('stripslashes_deep', $_GET); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_REQUEST = array_map('stripslashes_deep', $_REQUEST); } function convert_unicode($t, $to = 'windows-1251') { $to = strtolower( $to ); if( $to == 'utf-8' ) { return urldecode( $t ); } else { if( function_exists( 'iconv' ) ) $t = iconv( "UTF-8", $to . "//IGNORE", $t ); else $t = "The library iconv is not supported by your server"; } return urldecode( $t ); } $word = convert_unicode($_POST['text']); require_once("typographus.php"); $typo = new typographus(); $out_txt = $typo->process($word); @header("Content-type: text/css; charset=windows-1251"); print $out_txt;
-
нет, при BBCODES всё нормально
DLE и iframe в новой версии DLE
в DataLife Engine (Общие вопросы)
Опубликовано:
http://maps.visicom.ua