[WT] [Архив] [Поиск] Главная Управление
[Совместно с Ычаном]

[Назад]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 5557)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаемые типы файлов: 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP
  • Максимально допустимый размер файлов: 10000 кБ.
  • Изображения, размер которых превышает 200 на 200 пикселей, будут уменьшены.
  • Ныне 1769 unique user posts. Посмотреть каталог
  • Радио:

Файл: 132030932993.jpg-(56.85KB, 500x639, мемгенератор-котэ-u-mad-52784.jpg)
5557 No. 5557 watch    
Привет, девчан.

Хочу посоветоваться с тобой на счет системы аккаунтов в Котобе. Сейчас аккаунты представляют собой хранилище настроек пользователя (язык, стиль оформления, количество тредов показываемых на странице и т.д.) Аккаунты привязываются не к паре логин-пароль, а только к логину, который назван ключевым словом (всё это чтобы избежать не нужных ассоциаций). Я думаю упростить эту лабуду и хранить всё это в куках. Сейчас средства синхронизации (например Sync в FireFox, в Chrome тоже есть аналогичная лабуда, в IE тоже наверняка есть) спокойно переносят во все синхронизируемые браузеры не только куки и закладки, но и историю ввода. Раньше встроенных возможносей синхронизации в браузерах не было. Так что хранить настройки на сервере уже нет такой необходимости, как это было 2 года назад. В общем получается, что обычным пользователям аккаунты с настройками теперь не так уж и нужны.

Сейчас в Котобе есть 4 базовых группы: Админы, Модеры, Юзеры и все остальные (Гость). Можно добавлять свои группы. Есть 3 вида разрешений: на просмотр, на изменение и на модерирование. Свои разрешения добавлять нельзя. И есть 4 сущноти, к которым эти разрешения применяются: группа, доска, тред и пост. Всё это вместе позволяет писать различные правила доступа. Например, можно создать доску новостей, где только опередённая группа людей сможет размещать новости, а остальные только комментировать их. Можно создавать специальные доски и треды, которые будут видимы только определённым группам пользователей. Можно дать отдельному пользоватлю право модерировать какой-либо тред (например, свой). Ну и так далее, на что фантазии хватит. Всё это разнообразие стоит дорого, потому что правила доступа должны быть проверены практически при каждом запросе к базе данных, что существенно замедляет работу с базой данных.

А ведь на самом деле, если не выёбываться и, как я рассказал в начале, убрать аккаунты пользователей, то у нас останется система прав для модераторов и она будет существенно проще того, что есть сейчас. Останется только указать в какой-то таблице, какая группа модераторов что модерирует и всё: (Группа модераторов, Доска, Тред) Если невидимые доски и треды нужны, то это можно сделать, добавив соотвествующий флаг в таблицу досок и тредов, либо же отдельной таблицей видимости. Но я думаю, что невидимые доски и треды не нужны.

В общем дискач. Можете кидать свои идеи системы контроля доступа.
Развернуть все изображения
>> No. 5558    
А если кука потеряна и она не успела засинхронизироваться.
>> No. 5559    
Файл: 132031420946.png-(133.67KB, 1680x1050, Screenshot-1.png)
5559
>>5558

Придётся заново заходить на страницу настроек и вводить все параметры. Ну их там не так много, благо :3 Пикрелейтед.
>> No. 5560    
А если я люблю чистить кэш браузера
>> No. 5561    
Тут бы пригодилось локальное хранилище из нового стандарта html.
>> No. 5562    
Какашка какая то!
>> No. 5563    
>>5560

Нафиг так жить-то!
>> No. 5565    
в браузерах есть галочка, очищать печеньки при выходе
>> No. 5566    
>>5561

Я тоже думал об этом. У каждого браузера есть своя реализация хранилища. Благо, ещё и HTML5 вводит DOM Storage. Я не понял одну вещь: как я содержимое DOM Storage пользователя получу в своём PHP скрипте на сервере? Куки-то всякий раз присылаются вместе с запросом. Ежели DOM Storage только для яваскрипта, а не для серверной части, то он не подойдёт.
>> No. 5568    
>>5565

Зачем так жить-то? Ведь всё время везде придётся залогиниватья заново. И в Котобе бы пришлось логиниться заново каждый раз при таком подходе, потому что в куках хранится ID PHP сессии. Ну а при новом подходе придётся заново запиливать все настройки. Хотя, при новом подходе редактирование настроек будет намного удобнее, чем сейчас (не нужно будет заходить на отдельную страницу и т.д.)
>> No. 5569    
>>5566

Раз оно есть, значит с ним можно как-то общаться. Кури стандарт...
http://www.w3.org/TR/webstorage/#the-localstorage-attribute

Но пока что не все браузеры его поддерживают...
>> No. 5570    
Так следят же!!!
>> No. 5571    
Файл: 132031573027.gif-(3.91MB, 320x213, 0b0bb171.gif)
5571
For example, a page could have a checkbox that the user ticks to indicate that he wants insurance:

<label>
<input type="checkbox" onchange="sessionStorage.insurance = checked ? 'true' : ''">
I want insurance on this trip.
</label>

A later page could then check, from script, whether the user had checked the checkbox or not:

if (sessionStorage.insurance) { ... }

If the user had multiple windows opened on the site, each one would have its own individual copy of the session storage object.

Всё очевидно же
>> No. 5572    
Я погуглил. Данные из локального хранилища ни как не отправляются на сервер. Поэтому и смысла хранить там настройки нет, так как о них должен знать сервер.
>> No. 5573    
>>5572
Зачем их отправлять на сервер? Как анон у себя настроит, пусть так и будет... Зачем серверу знать что-либо об аноне? Сервер генерит некий html, который частично выполнится в браузере... Няшно?
>> No. 5574    
>>5573

Тогда треды и посты придётся грузить с помощью яваскрипта. Это не няшно.

Можно было бы сделть целиком динамическую борду, но не ранее чем везде появится нормальная поддержка WebSocket.
>> No. 5575    
>>5574

Зачем грузить через их скрипт?
Сервер генерит тебе всю страницу с тредами и шлюхами, в нужных местах ставит обращение к хранилищу... Ну или что-то в этом роде.
Сервер отдаёт данные, браузер их показывает, в нужных местах заполняет своими данными...
Как он их покажет зависит от настроек локальных и в том числе от локального хранилища.
Никаких скриптов, чистый html5.
>> No. 5576    
>>5575

Лётчик.jpg

Ладно, давай рассмотрим конкретный пример. Есть такая настройка: количество тредов на странице. Вот, например, на этой доске их 10 на страницу, а можно сделать так чтобы показывалось от 10 до 50 по выбору пользователя. Как ты думаешь это можно сделать?
>> No. 5577    
>>5576

И ты эти данные хочешь запихнуть в куку? Удачи. Пусть лучше всё это на сервере хранится. Или ты думаешь у борды будет миллион пользователей?
>> No. 5579    
>>5577

А что такого? В куках будет лежать такой параметр threads_per_page и у него число от 10 до 50. Если вдруг придёт хуёвое число, ну там -1, мало ли, умельцев-то у нас много, то вместо него будет показано 10 тредов на странице, по-умолчанию как бы. Каждый раз, когда пользователь будет запрашивать страницу доски, я в PHP скрипте буду знать, столько тредов нужно пользователю вернуть :3 А если юзать хранилище, то придётся число тредов как-то по-другому отправлять, я даже хз как, аяксом разве что. Но зачем такие сложности.
>> No. 5580    
И да, оно и хранится сейчас на сервере. В файле PHP сессии и в базе данных. А в куках хранится только ID сессии. Каждый раз при запросе страницы я эту сессию возобновляю по ID и читаю оттуда настройки пользователя. Стандартный механизм PHP сессий же.

Вместо этого хочу чтобы настройки хранились только в куках и нигде больше :3 Все борды сейчас так и работают, на самом-то деле. Вот эта борда в частности. Единственное неудобство, что у меня настроек много, а тут только стиль оформления (выпадающее меню в верхем правом углу) и пароль для удаления файлов и сообщений. Сейчас вроде бы тут тоже PHP сессии юзаются, чтобы хранить инфу для того чтобы капчу каждый раз не вводить.
>> No. 5581    
Хранить ВСЕ настройки в куках это изврат по моему...

Использовать куку для передачи этих самых настроек серверу другое разговор.
>> No. 5582    
Файл: 132032170265.jpg-(92.75KB, 449x640, 483716169.jpg)
5582
>> No. 5623    
Файл: 132062496815.jpg-(4.96KB, 208x192, images.jpg)
5623
Объясните мне ещё раз, зачем нужно было пилить отдельный движок, а не интегрировать всё это удовольствие в кусабу?
>> No. 5635    
>>5623

Потому что Кусаба говно внутри. Проще заново написать, чем переделать.
[Назад]


Удалить сообщение []
Пароль  
[Mod]