Расширение для Google Chrome - LiveStreet 0.1

Привет!



Сделал такое вот расширение. Можно не заходя на сайт, прямо панели гугла смотреть последние топики и комментарии на LiveStreet.Ru

Не ради коммерции, а просто ради удобства сделал. Так что милости просим:

Установить плагин в Google Chrome

P.S. Сегодня постараюсь разобраться как организовать всякие иконочки, когда что-то новое на сайте появляется… короче как у людей будет ;))

16 комментариев

avatar
Было бы удобно если он периодически проверял и цифрой отображал что появились новые топики.
Возможно уже такой функционал есть, просто ночью не так часто топики публикуют.

Пользуюсь этим расширением для хабра и нахожу его полезным, поэтому и такое пожелание. Так же думаю у него можно подглядеть исходники для упращения задачи.

Спасибо за старания!
avatar
привет! слушаю и повинуюсь! ;) исправим!
avatar
Для firefox ещё давайте :)
  • Deia
  • +1
avatar
я пока не умею ;))))

кстати это расширение уже опубликовали в магазине Chrome…

Your text to link...
avatar
кстати, если кому интересно, я могу сделать расширение для Google Chrome… не знаю будет ли от него толку в плане популярности, но чем черт ни шутит…
avatar
А можете сделать описание, как сделать такое же расширение для своего сайта?
Хотелось бы инструкция
avatar
avatar
спасибо, почитаю :)
avatar
Вопрос знатокам, комментарии и публикации это круто, но получать уведомление о пришедшем новом личном сообщении ещё лучше.
Вопрос, есть в экшене Talk ивент AjaxNewMessages было бы логично обращаться к данному ивенту и узнавать о новых сообщениях, но при обращении к нему без LIVESTREET_SECURITY_KEY система кричит Hacking Attemp!, а в самом ивенте не вызывается ValidateSendForm (что странно, кто-то же должен вызвать проверку на наличие кода), как правильно из расширения хрома обратится к данному ивенту?
avatar
Кричит она потому что при установке вывода в json формате происходит проверка security_ls key
livestreet.ru/talk/ajaxnewmessages?security_ls_key=43f98a8676993fe57a0bb54160ab280f который можно выцепить из тела страницы.

Можно найти код отвечающий за эту проверку и убедится

	/**
	 * Устанавливает тип отдачи при ajax запросе, если null то выполняется обычный вывод шаблона в браузер
	 *
	 * @param unknown_type $sResponseAjax
	 */
	public function SetResponseAjax($sResponseAjax='jsHttpRequest',$bResponseSpecificHeader=true, $bValidate=true) {
		/**
		 * Проверка на безопасную обработку ajax запроса
		 */
		if ($sResponseAjax) {			
			if ($sResponseAjax=='jsHttpRequest') {
				require_once(Config::Get('path.root.engine')."/lib/external/JsHttpRequest/JsHttpRequest.php");
				$JsHttpRequest = new JsHttpRequest("UTF-8");
			}
		}
		// Для возможности кросс-доменных запросов
		if ($sResponseAjax!='jsonp' && $bValidate) {
			$this->Security_ValidateSendForm();
		}
		$this->sResponseAjax=$sResponseAjax;
		$this->bResponseSpecificHeader=$bResponseSpecificHeader;
	}


а в AjaxNewMessages мы видим что установка формата вывода имеет вид

$this->Viewer_SetResponseAjax('json');


Если оформлять это дело в плагин что было бы бредово и имело место быть при создания расширения под конкретный сайт, но при этом создается CSRF уязвимость:

$this->Viewer_SetResponseAjax('json',true,false);


Вывод:

security_ls_key вытаскиваем из страницы и пытаемся узнать количество сообщений
livestreet.ru/talk/ajaxnewmessages?security_ls_key=43f98a8676993fe57a0bb54160ab280f
если вернулась ошибка значит сессия истекла и нужно выцепить со страницы новый ключ, если все нормально пользуемся им дальше.
avatar
Спасибо за развернутый ответ,
$this->Viewer_SetResponseAjax('json',true,false);
я если честно не понял про CSRF, ведь эта правка позволит лишь узнавать количество непрочитанных личных сообщений, данный ивент не производит никаких других действий. Лично я никакой проблемы не вижу. Возможно я заблуждаюсь. Вот если будет необходим доступ непосредственно к сообщениям или другой конфиденциальной информации тогда вы правы, без ключа этого делать не стоит.
avatar
Было бы круто, чтобы одно расширение можно было использовать и для других сайтов.
Пользователь сам добавляет лс-сайты и со всех уже получает уведомления…
avatar
на RSS подписывайтесь
avatar
Зачем изобретать велосипед если есть RSS?
avatar
Мы ведь ждем)
avatar
что то перестал работать
  • ozz
  • 0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.