Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 06.05.2016
Сообщений: 48

Аутентификация на форуме phpBB

06.05.2016, 14:50. Показов 2555. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
почему вылезает ошибка?
Exception in thread "main" java.lang.NoSuchMethodException: com.company.Main.main([Ljava.lang.String
at java.lang.Class.getMethod(Class.java:178 6)
at com.intellij.rt.execution.application.Ap pMain.main(AppMain.java:125)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
      package com.company;
        import java.net.Authenticator;
        import java.net.PasswordAuthentication;
 
public class Main extends Authenticator {
    private String host;
    private String username;
    private String password;
 
    public Main(String host, String username, String password) {
        super();
        this.host = "http://sysadmins.ru";
        this.username = "Megatron666";
        this.password = "123456";
    }
 
    protected PasswordAuthentication getPasswordAuthentication() {
        if(host.equals(getRequestingHost())) {
            return new PasswordAuthentication(username, password.toCharArray());
        } else {
            return super.getPasswordAuthentication();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2016, 14:50
Ответы с готовыми решениями:

Отправка постов на форуме (phpbb)
Это должно отправлять пост в тему, но к сожалению ничего не происходит. хелпаните var PostData, Response: TStrings; html:String; ...

Удаление списка юзеров в форуме phpBB
Удаление списка юзеров в форуме phpBB, защита от СПАМА Кто знает как можно список юзеров в форуме phpBB . Проблема в том, что идёт...

Как исправить ошибку или отключить вывод [phpBB Debug] на phpbb 3.0.10?
Здравствуйте. Есть сайт, форум phpBB 3.0.10, простой календарик на php и общий модуль авторизации. По отдельности все работает...

28
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
14.05.2016, 00:52
Студворк — интернет-сервис помощи студентам
NormalArs, а это уже то о чем KEKCoGEN вам говорил. =) Если дать человеку в руки скальпель, это не означает что он сможет успешно провести операцию.

Могу посоветовать запустить сниффер (я использую Fiddler4) и поизучать какие и куда идут запросы при том или ином действии. Посмотреть что в куки пишется.

Вполне возможно что нужно почитать что такое CSRF...

Удачи )
1
0 / 0 / 1
Регистрация: 06.05.2016
Сообщений: 48
14.05.2016, 02:53  [ТС]
форма для залогинивания
HTML5
1
2
3
4
5
<form action="http://sysadmins.ru/login.php" method="post">
name <input type="text" class="post" name="username" value="Megatron666" />
pass <input type="text" class="post" name="password" value="123456" />
<input type="submit" name="login" class="mainoption" value="enter" />  
</form>
Добавлено через 2 минуты

Добавлено через 1 час 56 минут
на сколько я понял оно так должно работать
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 try (CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCookieStore(cookieStore).build()) {
 
            URI uri = new URIBuilder()
                    .setScheme(SCHEME)
                    .setHost(HOST)
                    .setPath("/posting.php?mode=delete&p=13368470&sid=e************3700e3 ")
                    .build();
 
 
            HttpPost httpPost = new HttpPost(uri);
 
            List<NameValuePair> nvps = new ArrayList<>();
            nvps.add(new BasicNameValuePair("p","13368470"));
            nvps.add(new BasicNameValuePair("mode", "delete"));
            nvps.add(new BasicNameValuePair("confirm","%C4%E0"));
            httpPost.setEntity(new UrlEncodedFormEntity(nvps));
 
            try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
                HttpEntity entity = response.getEntity();
                EntityUtils.consume(entity);
            }
        }
 
 
        ////////////////////////////////////////// вывод хтмл
 
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            URI uri = new URIBuilder()
                    .setScheme(SCHEME)
                    .setHost(HOST)
                    .setPath("/posting.php").build();
            System.out.println(uri);
            HttpGet httpGet = new HttpGet(uri);
 
            try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
 
                try (BufferedReader br = new BufferedReader(
                        new InputStreamReader((response.getEntity().getContent()), "windows-1251"))) {
                    String output;
                    while ((output = br.readLine()) != null) {
                        System.out.println(output);
                    }
                }
            }
        }
 
//p=13368467&mode=delete&confirm=%C4%E0
ругается = не указан режим сообщения
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.05.2016, 03:00
NormalArs, вы угадать пытаетесь.....так себе способ.
0
0 / 0 / 1
Регистрация: 06.05.2016
Сообщений: 48
14.05.2016, 14:30  [ТС]
разбираю код, решил вывести список сообщений пользователя.
проблема в том что в ходе выполнения программы она выходит из аккаунта, и когда я прошу список тем - она просит пароль
(название сайта закрыл звездочками чтоб не искалась эта тема)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package com.company;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.CookieStore;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
 
public class Main {
 
   private static final String SCHEME = "http";
    private static final String HOST = "*********.ru/login.php";
    private static final String USERNAME = "Megatron666";
    private static final String PASSWORD = "123456";
    private static final String LOGIN = "%C2%F5%EE%E4";
 
    public static void main(String[] args) throws IOException, URISyntaxException {
 
        CookieStore cookieStore = new BasicCookieStore();
        String sid = null;
 
        try (CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCookieStore(cookieStore).build()) {
 
        URI uri = new URIBuilder()
   .setScheme(SCHEME)
    .setHost(HOST)
    .build();
        HttpPost httpPost = new HttpPost(uri);
System.out.print("uri1 "); System.out.println(uri);
 
       List<NameValuePair> nvps = new ArrayList<>();
        nvps.add(new BasicNameValuePair("username", USERNAME));
        nvps.add(new BasicNameValuePair("password", PASSWORD));
        nvps.add(new BasicNameValuePair("login", LOGIN));
 
System.out.print("nvps ");System.out.println(nvps);
         httpPost.setEntity(new UrlEncodedFormEntity(nvps));// отправка пар на uri1
 
 
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {//магия
    HttpEntity entity = response.getEntity();
    EntityUtils.consume(entity);
}
        }
/////////////
        List<Cookie> cookies = cookieStore.getCookies();
        for (Cookie cookie : cookies) {
if (cookie.getName().equals("sysadminsnew_sid")) {
    sid = cookie.getValue();        // вытаскивание сида из куки
    break;
}
        }
        System.out.print("sid "); System.out.println(sid);
////////////
 
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
        URI uri = new URIBuilder()  //сборка ссылки
        .setScheme(SCHEME)
        .setHost(HOST)
        .setParameter("sid", sid).build();
System.out.print("uri2 ");System.out.println(uri);
 
boolean flag=true;
HttpGet httpGet = new HttpGet(uri);// отправка uri2
 
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
    try (BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent()), "windows-1251"))) {
        String output;
        while ((output = br.readLine()) != null) {    //чтение хтмл
if((output.indexOf(USERNAME) != -1 )&& (flag == true))//поиск ника в считываемых строках
{   flag=false;
    System.out.println("Вход выполнен"); }
        }
    }
}
        }//конец сборки - проверки
 
////////////
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
URI uri = new URIBuilder()  //сборка ссылки
        .setScheme(SCHEME)
        .setHost("********.ru/search.php?search_author=Megatron666")
        .build();
System.out.print("uri3 ");System.out.println(uri);
 
HttpGet httpGet = new HttpGet(uri);// отправка uri3
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
    try (BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent()), "windows-1251"))) {
        String output;
        while ((output = br.readLine()) != null) {    //чтение хтмл
 
    System.out.println(output);
        }
    }
}
        }//конец списка тем
    }
}
Добавлено через 3 часа 21 минуту
почему так?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.05.2016, 14:49
NormalArs, почему бы вам не использовать Selenium если уж вы не хотите разбираться как работают HTTP запросы на сайтах.

Цитата Сообщение от NormalArs Посмотреть сообщение
название сайта закрыл звездочками чтоб не искалась эта тема
серьезно? А в остальных постах название сайта не фигурирует?
0
0 / 0 / 1
Регистрация: 06.05.2016
Сообщений: 48
14.05.2016, 17:25  [ТС]
просто захотелось)

а что у меня с кодом не так, я запрос странички пытолся в одит try с запросам куки посадить, но не получилось. конфликтуют.
почему он сбрасывает сессию?
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
14.05.2016, 18:07
Лучший ответ Сообщение было отмечено NormalArs как решение

Решение

NormalArs, попробуйте поменять
Java
1
HttpClients.createDefault()
на
Java
1
HttpClientBuilder.create().setDefaultCookieStore(cookieStore).build()
1
0 / 0 / 1
Регистрация: 06.05.2016
Сообщений: 48
15.05.2016, 10:56  [ТС]
заработало)
если в запросе передаются русские символы - на сайте они появляются в виде знаков вопроса.
сам сайт их кодирует так
Кликните здесь для просмотра всего текста
Аа-C0|E0
Бб-C1|E1
Вв-C2|E2
Гг-C3|E3
Дд-C4|E4
Ее-C5|E5
Ёё-A8|B8
Жж-C6|E6
Зз-C7|E7
Ии-C8|E8
Йй-C9|E9
Кк-CA|EA
Лл-CB|EB
Мм-CC|EC
Нн-CD|ED
Оо-CE|EE
Пп-CF|EF
Рр-D0|F0
Сс-D1|F1
Тт-D2|F2
Уу-D3|F3
Фф-D4|F4
Хх-D5|F5
Цц-D6|F6
Чч-D7|F7
Шш-D8|F8
Щщ-D9|F9
Ъъ-DA|FA
Ыы-DB|FB
Ьь-DC|FC
Ээ-DD|FD
Юю-DE|FE
Яя-DF|FF

мне составлять таблицу соответсвий для перекодировки, или есть более изящное решение?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
15.05.2016, 12:17
NormalArs, создавайте отдельные темы на каждый вопрос. См правила. Один вопрос - одна тема. Ваши вопросы уже далеко не о аутентификации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2016, 12:17

Профайлы phpbb
Добрый день. Предупрежу сразу, чтобы не кидались тухлыми помидорами, все что написано мое ИМХО :) Заметил, что если на сайт много...

Блог на PHPBB 2
Доброго времени суток! Есть ли мод для PHPBB 2, добавляющий возможность ведения блогов? Перерыл много ссылок. Нахожу только для...

Интеграция с PhpBB
Добрый день :) Прошу совета. Создал недавно форум на PhpBB, теперь есть идея к форуму сделать портал. Какая система интегрируется с PhpBB,...

Wordpress и phpBB
Здравствуйте, задумал сделать сайт+форум, плюс хочу сделать так чтоб была одна база пользователей для обоих систем, а также одна база...

Проблемы с ПМ на phpbb
В общих чертах проблема в следующим. Набросал я код по авторизации и отправке сообщения на пхпбб. С авторизацией всё нормально, а вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru