Перейти к содержанию
Авторизация  
GUSTAVO

Привязка

Рекомендуемые сообщения

Добрый день! Кто может код который при запуске сервера делает запрос на хостинг, конкретно в текстовый файл на хостинге в котором в первой строке написано допустим test, ну и если в условии запроса надпись совпадает с надписью в текстовом файле на хостинге, то продолжать загрузку сервера, а если не совпадает, то выключать запуск сервера?? Крч кто эти слова может помочь на java язык перевести?) А ну и конечно же нужно, чтоб соединение было зашифровано) делаться будет под l2jserver, но думаю значения не имеет)

Изменено пользователем akcent

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

маловероятно что тебе кто-то пожет в этом вопросе. Кури инфу по гет запросам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день! Кто может код который при запуске сервера делает запрос на хостинг, конкретно в текстовый файл на хостинге в котором в первой строке написано допустим test, ну и если в условии запроса надпись совпадает с надписью в текстовом файле на хостинге, то продолжать загрузку сервера, а если не совпадает, то выключать запуск сервера?? Крч кто эти слова может помочь на java язык перевести?) А ну и конечно же нужно, чтоб соединение было зашифровано) делаться будет под l2jserver, но думаю значения не имеет)

import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class Test
{
	 public static void main(String[] args)
	{
		connectToUrl("", true);
	}
	
	public static String connectToUrl(String URL_TO_SEND, boolean answer)
    {
        try
        {
            URL url = new URL(URL_TO_SEND);
            URLConnection uc = url.openConnection();
 
            InputStream in = uc.getInputStream();
            int ch; String text = "";
 
            while ((ch = in.read()) != -1)
            { text += (char) ch; }
 
            if (answer) System.out.println("\nСЕРВЕР ВЕРНУЛ:\n"+text+"\n");
            return text; // возвращает ответ сервера
        }
        catch(Exception e)
        {e.printStackTrace();}
        return null;
    }
}

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но такая фигня легко обходится...

Было на сборке пейн тим, смотришь куда бьет сервер, и что отдает, в хостах перенаправляешь на свой урл, и все...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но такая фигня легко обходится...

Было на сборке пейн тим, смотришь куда бьет сервер, и что отдает, в хостах перенаправляешь на свой урл, и все...

мангол некоторое время назад советовал смотреть в сторону связки ключей RSA2048 или RSA4096
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мангол некоторое время назад советовал смотреть в сторону связки ключей RSA2048 или RSA4096

Почему и нет, я думаю если подраскинуть, то все же можно сделать адекватную проверку на веб сервер, но там чтобы ок было надо сдн, или т.п....

А то упадет, и все, бб)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class Test
{
	 public static void main(String[] args)
	{
		connectToUrl("", true);
	}
	
	public static String connectToUrl(String URL_TO_SEND, boolean answer)
    {
        try
        {
            URL url = new URL(URL_TO_SEND);
            URLConnection uc = url.openConnection();
 
            InputStream in = uc.getInputStream();
            int ch; String text = "";
 
            while ((ch = in.read()) != -1)
            { text += (char) ch; }
 
            if (answer) System.out.println("\nСЕРВЕР ВЕРНУЛ:\n"+text+"\n");
            return text; // возвращает ответ сервера
        }
        catch(Exception e)
        {e.printStackTrace();}
        return null;
    }
}

Спасибо!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но такая фигня легко обходится...

Было на сборке пейн тим, смотришь куда бьет сервер, и что отдает, в хостах перенаправляешь на свой урл, и все...

Ну так то да, но можно же как то на этот текст шифрацию закинуть? Может посоветуете тогда, на что привязку делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мангол некоторое время назад советовал смотреть в сторону связки ключей RSA2048 или RSA4096

о шифрации речь ? тогда на стороне хоста дешифратор должен быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

о шифрации речь ? тогда на стороне хоста дешифратор должен быть?

ну да, логично же. В довесок логирование всех запусков, и т.д. По реализации хрен его знает, еще не смотрели в эту сторону пока. Времени нету пока Изменено пользователем Khrome

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но такая фигня легко обходится...

Было на сборке пейн тим, смотришь куда бьет сервер, и что отдает, в хостах перенаправляешь на свой урл, и все...

Можно же использовать специальные для этого заголовки типа Access-Control-Allow-Origin и его производных.... Тогда всем кого нет в списке доверенных адресов будет отказано в доступе. Сама технология называется  Cross-origin resource sharing

Если я правильно понял суть....

 

Изменено пользователем Pepel
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно же использовать специальные для этого заголовки типа Access-Control-Allow-Origin и его производных.... Тогда всем кого нет в списке доверенных адресов будет отказано в доступе. Сама технология называется Cross-origin resource sharing

Если я правильно понял суть....

 

Это, как я понял, на хосте ставится ограничение да? Хм, а если обратиться в тех. Поддержку хоста, они смогут ограничить доступ к хосту только определенным ip. Хм

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно же использовать специальные для этого заголовки типа Access-Control-Allow-Origin и его производных.... Тогда всем кого нет в списке доверенных адресов будет отказано в доступе. Сама технология называется Cross-origin resource sharing

Если я правильно понял суть....

 

Это, как я понял, на хосте ставится ограничение да? Хм, а если обратиться в тех. Поддержку хоста, они смогут ограничить доступ к хосту только определенным ip. Хм, но все равно так же сборка то будет делать запрос на адрес и адрес можно будет вычислить и в хост забить, вот только вопрос, обязательно ли отправлять запрос с ключем, иди можно как то попросить ключь у сервера который ограничил для себя вход посторонних ip? Или как вариант еще пришла мысль , сделать 2 сервера у которых есть один и тот же ключ, со сборки делать запрос на хост 1, на то какой должен быть ключь, а второй запрос делать на хост 2 и сверять уже там ключь, тогда в сборке ключь не будет зашит, его нужно будет вписывать на хост 1. Но тут опять же если вычислить откуда берется ключь, можно у себя на компе hosts изменить)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это, как я понял, на хосте ставится ограничение да? Хм, а если обратиться в тех. Поддержку хоста, они смогут ограничить доступ к хосту только определенным ip. Хм, но все равно так же сборка то будет делать запрос на адрес и адрес можно будет вычислить и в хост забить, вот только вопрос, обязательно ли отправлять запрос с ключем, иди можно как то попросить ключь у сервера который ограничил для себя вход посторонних ip? Или как вариант еще пришла мысль , сделать 2 сервера у которых есть один и тот же ключ, со сборки делать запрос на хост 1, на то какой должен быть ключь, а второй запрос делать на хост 2 и сверять уже там ключь, тогда в сборке ключь не будет зашит, его нужно будет вписывать на хост 1. Но тут опять же если вычислить откуда берется ключь, можно у себя на компе hosts изменить)

Разумеется тут должен быть комплекс мер...

используя Cross-origin resource sharing - можно ограничить общение только сайт <-> сервер. Для обращения сервера к сайту все равно нужно использовать библиотеки для работы c http, писать своего рода апиху для сайта.  с помощью установки заголовков  Access-Control-Allow-Origin отсеиваются все левые обращения. Директорию сайта же в которой файлы для работы с сервером так же можно защитить используя .htaccess(в случае с апачем). В любом случае какой бы язык не использовал сайт на серверной стороне там есть средства для работы с http соответственно есть возможность устанавливать нужные заголовки.... Ну а шифровать трафик... Думаю достаточно обычного SSl сертификата...

В идеале хорошо бы сделать прослойку в виде отдельного сервака... подойдет любой хост, с самым дешевым тарифом. Его цель соединять между собой сервер игры и сервер сайта, те же в свою очередь друг о друге и знать не знают... Тем самым можно реализовать что-то типо паттерна "посредник".

 

Вопрос как это все сделать?

Ну как минимум нужен человек хорошо разбирающийся в сетях, нюансах http протокола, программировании под веб и тонкостях настройки веб серверов

Изменено пользователем Pepel
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разумеется тут должен быть комплекс мер...

используя Cross-origin resource sharing - можно ограничить общение только сайт <-> сервер. Для обращения сервера к сайту все равно нужно использовать библиотеки для работы c http, писать своего рода апиху для сайта.  с помощью установки заголовков  Access-Control-Allow-Origin отсеиваются все левые обращения. Директорию сайта же в которой файлы для работы с сервером так же можно защитить используя .htaccess(в случае с апачем). В любом случае какой бы язык не использовал сайт на серверной стороне там есть средства для работы с http соответственно есть возможность устанавливать нужные заголовки.... Ну а шифровать трафик... Думаю достаточно обычного SSl сертификата...

В идеале хорошо бы сделать прослойку в виде отдельного сервака... подойдет любой хост, с самым дешевым тарифом. Его цель соединять между собой сервер игры и сервер сайта, те же в свою очередь друг о друге и знать не знают... Тем самым можно реализовать что-то типо паттерна "посредник".

 

Вопрос как это все сделать?

Ну как минимум нужен человек хорошо разбирающийся в сетях, нюансах http протокола, программировании под веб.

Ну а если даже хост и будет ограничен от посторонних ip, все равно даже без подключения сама сборка то будет направлять запрос, а этот запрос можно ведь перехватить и посмореть куда он шел и что запрашивал да? Тут уже нужно думать, как этот запрос защищать, соответственно шифрацию делать надо конкретно на этот запрос перед отправкой, ну а потом отправлять? А если этот шифрованый текст который будет отправлен в запросе тупо перенаправить обратно в сборку, он ее прочитает интересно? Или делать тогда 2 ключа шифрации, 1 ключем шифровать отправку текста и на сайте как то через php можно сделать дешифрацию? ну и вторым ключем шифровать уже на самом сайте ( можно ли как то вообще сделать через php ?) ну и этим же ключем дешифровать в сборке?) и еще мысль, отправлять запрос с одним ключем, проверять его на сайте и если он совпадает, то отправлять другой ключь в сборку, ну а потом проверять еще на втором хосте совпадение? Только вот получается что запрос с нужным ключем будет все равно отправлен и его можно перехватить. Тут остается вопрос только про шифрацию тогда) Или может есть вариант проще?? А если вообще сперва подключение проверять к хосту? Его тоже можно перехватить и в hosts вбить как к себе)

 

Тут уже проблема в том что сборка запрос направляет, который можно перехватить в любом случае, или я ошибаюсь? 

Изменено пользователем akcent

Поделиться сообщением


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

 

Методов шифрования куча... В php как и в любом другом языке есть библиотеки,  уже написанные.

Я упоминал SSL сертификат - это https соединение трафик при таком соединении шифруется, и насколько я знаю способов его дешифровать нет. Ну перехватят запрос, ну посмотрят куда он шел... но тело запроса прочитать не удастся ... спрятать ip сервера так же не получиться (если только системой vpn). В любом случае есть клиент игры и он знает ip сервера.

 

Есть еще технология называется jsonp -  её ограничение - это возможность делать только GET запросы.

Java с json работать умеет, так что вполне метод пригоден к существованию.

Изменено пользователем Pepel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще вопрос возник, дабы не создавать новую тему, тут и отпишу, ведь по этой же теме вопрос. Как переменной через программный код присвоить ip адрес который на компе стоит в момент сканирования?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...