Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Способы сокрытию конечного документа (https://javascript.ru/forum/dom-window/39644-sposoby-sokrytiyu-konechnogo-dokumenta.html)

wayzer 07.07.2013 00:18

Способы сокрытию конечного документа
 
Помогите, пожалуйста, какие есть способы защиты документа(php скрипт, который выводит данные из бд), к которому обращается ajax?
Как сделать так, чтобы запросы совершенные с домена проходили, а попытки просто напрячь сервер были перенаправлены ?

bartle96 07.07.2013 00:53

Создайте капчу, сделайте хеш от ваших пользователей которые добровольно посылают ajax запросы
Цитата:

Сообщение от wayzer
а попытки просто напрячь сервер были перенаправлены ?

Если это произойдет сервер максиму ляжет, а с вашим php скриптом не чего не будет

wayzer 07.07.2013 00:57

Цитата:

Сообщение от bartle96 (Сообщение 260660)
Создайте капчу, сделайте хеш от ваших пользователей которые добровольно посылают ajax запросы

Если это произойдет сервер максиму ляжет, а с вашим php скриптом не чего не будет

В это и дело, как передать хеш, чтобы пользователь его не видел в коде и как скрыть адрес к которому обращается ajax ?

Deff 07.07.2013 07:31

Цитата:

Сообщение от wayzer
и как скрыть адрес к которому обращается ajax ?

Ну по большому счету никак, можно ток защиту от дурака(поскольку можно тупо дебажить аякс посылку,
простейшее - кодирнуть адрес - escape
Еще как вариант: поставить адрес сервером в куки, ну еще кодирнуть escape;

Более сложные варианты:
Запрос к серверу по простому адресу, например аналог запроса темы, с уникальным, но отсутствующим id; в параметрах передаём некий код текущей страницы, с которой выдан запрос.
На серве, - проверка авторизации и времени отдачи юзеру данной страницы(сравниваем код) и колва обращений по данному адресу в течении времени - t, если страница та, и с наличием аякс-вызова и не просрочена, - значит отдаем данные(если колво запросов не превышает лимит)

wayzer 07.07.2013 11:53

Дак вот как передать этот код, чтобы его пользователь не увидел среди кода js и не использовать сессию чтобы пользователь мог просто зайти один раз на сайт и после посещать страницу со скриптом подключающимся к бд ?

danik.js 07.07.2013 12:17

Установи лимит на число обращений с одного IP и не парься. Если начнутся проблемы - тогда уже думай. Решай проблемы по мере их поступления )

wayzer 07.07.2013 12:24

Цитата:

Сообщение от danik.js (Сообщение 260692)
Установи лимит на число обращений с одного IP и не парься. Если начнутся проблемы - тогда уже думай. Решай проблемы по мере их поступления )

Я просто думал, будет ли это эстетично, если по определенному адресу будет открываться кусок кода страницы )

wayzer 07.07.2013 13:17

Подскажите еще, пожалуйста, есть ли какие-то примеры построения подгрузки постов как в ВКонтакте и т.д. по прокрутке до конца грузится часть записей.

danik.js 07.07.2013 15:57

Цитата:

Сообщение от wayzer
Я просто думал, будет ли это эстетично, если по определенному адресу будет открываться кусок кода страницы )

Проверяй заголовок X-Requested-With тогда.

wayzer 07.07.2013 22:06

Подскажите, пожалуйста, как проверить data на содержание в ней чего либо, не пуста ли она

$("#send_message").click(function() {
		$.post('http://oyy.name/engine/php/users.php', {
			id: oyy.id,
			count: '5',
			limit: count_var
			}, function(data) {
				if(data != "') {
				$("#comments_container").append('<div id="comments_part_'+count_var+'">'+data+'</div><br />');
				count_var = count_var + 1*5;
				}
			}
		)
	});


Разобрался, выше пример работоспособного кода


Часовой пояс GMT +3, время: 05:23.