- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 31
Тестил и на хостинге, и на денвере.
cmsUser::clearCsrfToken();
Тем более все забывают что я писал и о других багах на форуме
При переносе темы в другую категорию тоже вылезает еще одна бага, тема дублируется и их становиться две, причем обе не в рабочем состоянии. Вот такая беда. Пытаюсь удалить не удаляет. Только заходить в админку и удалять полностью категорию.
Третья бага с модулем вывода "Новости форума" смотрим с левой стороны rockrussia.ru/
ставил как угодно, перезаливал, ничего — информации вывода нет.
Вчера специально зашел и посмотрел у своих разных клиентов, которым ставил версию 1.10 у всех не работает точно также, хосты у всех разные, т.е. это проблема версии двига.
Славу богу я не ставил эту 1.10 или 1.10.1 на свой работающий проект, у меня там люди в день до 50 тем на форуме делают.
3071 public static function validateForm(){ if(!@$_POST['csrf_token']) { return false; } if($_POST['csrf_token'] == cmsUser::getCsrfToken()) { return true; } return false; }
public static function validateForm(){ return true; }
Потестил на чистой 1.10.1, да, действительно 404 при отправке сообщения из второго окна, именно так как вы и описали.Май, потестите на чистой 1.10.1, без доработок
При переносе темы в другую категорию тоже вылезает еще одна бага, тема дублируется и их становиться две, причем обе не в рабочем состоянии. Вот такая беда. Пытаюсь удалить не удаляет. Только заходить в админку и удалять полностью категорию.
Потестил на чистой, такой проблемы не обнаружилось, темы переносятся из категории в категорию корректно.
Третья бага с модулем вывода "Новости форума" смотрим с левой стороны rockrussia.ru/
ставил как угодно, перезаливал, ничего — информации вывода нет.
На чистой 1.10.1 вывод новостей форума в модуле работает нормально.
1.8 — 1.9 — 1.10 — 1.10.1 не наблюдаю.При переносе темы в другую категорию тоже вылезает еще одна бага, тема дублируется и их становиться две, причем обе не в рабочем состоянии. Вот такая беда. Пытаюсь удалить не удаляет. Только заходить в админку и удалять полностью категорию.
1.6 — 1.7 — 1.8 — 1.9 — 1.10 — 1.10.1 тоже нету такогоПри переносе темы в другую категорию тоже вылезает еще одна бага, тема дублируется и их становиться две, причем обе не в рабочем состоянии. Вот такая беда. Пытаюсь удалить не удаляет. Только заходить в админку и удалять полностью категорию.
Так оно и будет. Токен генерируется каждый раз новый когда открывается другая форма, замещая предыдущий токен.1. Открываем форум, видим список тем. 2. Открываем одну тему из списка, во второй вкладке открываем вторую тему. 3. Отвечаем в первой. Все хорошо. 4. Пробуем ответить во второй — 404.
вот как бы убрать это дело, т.к многие всеже предпочитают открывать сразу несколько тем.Токен генерируется каждый раз новый когда открывается другая форма, замещая предыдущий токен.
Нужно модифицировать 2 файла.
1. /core/cms.php
строки 3063-3075
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Проверяет значение сессии в POST и сравнивает с текущим * @return bool */ public static function validateForm(){ if(!@$_POST['csrf_token']) { return false; } if($_POST['csrf_token'] == cmsUser::getCsrfToken()) { return true; } return false; }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Проверяет значение сессии в POST и сравнивает с текущим * @return bool */ public static function validateForm(){ if(!@$_POST['csrf_token']) { return false; } //if($_POST['csrf_token'] == cmsUser::getCsrfToken()) { return true; } if(cmsUser::checkCsrfToken($_POST['csrf_token'] )) { return true; } return false; } public static function generateRandomString($length = 32,$onlyDigitandAlfa = true) { $chars = 'abcdefghjiklmopqnrstuvwxyzACBDEFGIJHKLMNOPQRSUVWXTYZ0123456789'; if (!$onlyDigitandAlfa) { $chars.='*.-~'; } $string = ''; for ($i = 0; $i < $length; $i++) { } return $string; }
строки 1607-1621
// ============================================================================ // // ============================================================================ // public static function getCsrfToken(){ $csrf_token = self::sessionGet('csrf_token', 'security'); if($csrf_token) { return $csrf_token; } } public static function clearCsrfToken(){ return self::sessionDel('csrf_token', 'security'); }
// ============================================================================ // // ============================================================================ // public static function getCsrfToken(){ //$csrf_token = self::sessionGet('csrf_token', 'security'); //if($csrf_token) { return $csrf_token; } //return self::sessionPut('csrf_token', md5(uniqid().rand(0, 9999)), 'security'); return self::genCsrfToken(self::genCsrfTokenId()); } public static function checkCsrfToken($csrf_token){ $controlToken=self::genCsrfToken($tokenId); if ($controlToken==$csrf_token){ $csrf_tokens = self::sessionGet('csrf_token', 'security'); } self::sessionPut('csrf_token', $csrf_tokens , 'security'); return true; } return false; } public static function clearCsrfToken(){ //return self::sessionDel('csrf_token', 'security'); } public static function genCsrfToken($tokenId){ } public static function existCsrfTokenId($tokenId){ $csrf_tokens = self::sessionGet('csrf_token', 'security'); self::sessionPut('csrf_token', $csrf_tokens , 'security'); return false; } return true; } return false; } public static function genCsrfTokenId(){ $tokenId=cmsCore::generateRandomString(6); while(self::existCsrfTokenId($tokenId)) { $tokenId=cmsCore::generateRandomString(6); } return $tokenId; }
- Предыдущая
- 1
- 2
- 3
- Следующая
- Показаны 16-30 из 31