HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.12.2009, 18:57
[Dezzter]
Участник форума
Регистрация: 26.11.2007
Сообщений: 266
Провел на форуме:
3412198

Репутация: 341
По умолчанию

Тренируюсь щас с POST авторизациями.. Решил попробовать на ачате.

Вот сделал код:
PHP код:
import urllib
import urllib2
import cookielib

cookie 
cookielib.CookieJar()
opener urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)

user_agent 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT'
headers = { 'User-Agent' user_agent }

url 'https://forum.antichat.ru/index.php'
values = {'vb_login_username' '[Dezzter]',
         
'vb_login_password' 'пасс'}

data urllib.urlencode(values)
req urllib2.Request(urldataheaders)
response urllib2.urlopen(req)
the_page response.read()

print 
the_page 
Выполняю скрипт, получаю вот что:
Цитата:
POST requests from foreign hosts are not allowed. <br> Для того чтоб постить на форуме необходимо разрещить referrer для нашего форума.<br> Referrer заблокирован у Вас либо firewill, либо в opera или firefox<br>Блокировка сделана для безопасности пользователей форума.
Погуглил про Referrer в питоне, что то вообще ни чего не нашёл.. Нашёл только реализацию с курлом
PHP код:
curl.setopt(HTTPHEADER,) 
И вообще, код правильный? Если бы не referrer, то работало бы ?

Последний раз редактировалось [Dezzter]; 10.12.2009 в 19:51..
 
Ответить с цитированием

  #2  
Старый 10.12.2009, 19:36
H1Z
Участник форума
Регистрация: 23.03.2007
Сообщений: 170
Провел на форуме:
1355906

Репутация: 211
По умолчанию

Исправь на:
Код:
headers = { 'User-Agent' : user_agent,"Referer":"https://forum.antichat.ru/index.php" }
Тебе всего лишь нужно было добавить Referer в headers
 
Ответить с цитированием

  #3  
Старый 10.12.2009, 19:48
[Dezzter]
Участник форума
Регистрация: 26.11.2007
Сообщений: 266
Провел на форуме:
3412198

Репутация: 341
По умолчанию

Спасибо, проблема с Referer решина, но!

Я так понял дело в кукисах, т.к. авторизация не проходит успешно.

Если посмотреть страницу, то в коде страницы видно, что я по прежнему не авторизован!
 
Ответить с цитированием

  #4  
Старый 10.12.2009, 21:44
whexp
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме:
333264

Репутация: 80
По умолчанию

На тебе пример:
Код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib
import urllib2
import re

USERNAME = 'username'
PASSWORD = 'password'

url = 'login_url'
data = urllib.urlencode({
    'vb_login_username': USERNAME,
    'vb_login_password': PASSWORD,
    'cookieuser': '1',
    's': '',
    'do': 'login',
    'forceredirect': '0',
    'vb_login_md5password': '',
})
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5',
    'Referer': 'index_page_url',
}

req = urllib2.Request(url, data, headers)
page = urllib2.urlopen(req).read()
print page
Только измени константы и адреса страниц для логина и реферер.

Последний раз редактировалось whexp; 10.12.2009 в 22:05..
 
Ответить с цитированием

  #5  
Старый 10.12.2009, 21:56
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Эхх, если кто из цветных заметит - нагадютЪ в карму
Тулза конкретно для античата :
http://dumpz.org/10228/
 
Ответить с цитированием

  #6  
Старый 10.12.2009, 22:06
whexp
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме:
333264

Репутация: 80
По умолчанию

login999, а в коде нет ни 1 упоминания ачата
 
Ответить с цитированием

  #7  
Старый 12.12.2009, 23:28
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме:
1180737

Репутация: 180


По умолчанию

позор мне за то что немогу найти этого сам

дайте плиз ссылки на статьи описывающие работу с POST и GET запросами на сайт.
Ну типо на питоне произвести коннект на сайт и получить выданую страницу, перейти там по ссылке с POST параметрами и т.д.
 
Ответить с цитированием

  #8  
Старый 12.12.2009, 23:38
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


По умолчанию

См пост 441
__________________
Blog
 
Ответить с цитированием

  #9  
Старый 13.12.2009, 12:55
[Dezzter]
Участник форума
Регистрация: 26.11.2007
Сообщений: 266
Провел на форуме:
3412198

Репутация: 341
По умолчанию

PHP код:
import re
import urllib2
url 
urllib2.urlopen('http://site.ru/test.php')
url=url.read()
match=re.findall('<!-- test -->[ \r\t].*?<!-- test2 -->'url)
match=str(match)[2:-2]
print  
match 
Проблема вот в чём, если HTML страница вот такого вида:
Код HTML:
<!-- test --> Сдесь какой-то текст <!-- test2-->
То всё парсится отлично, а вот если уже вот такого:
Код HTML:
<br><br><br>
<center> Первая строка   </center>
<center> Вторая строка </center>
<!-- test -->
<br>
<center> Пляске </center>
<br>
<!-- test2 -->
<center> Третья строка   </center>

<center> Четвёртая строка </center>
Тогда ни чего не парсится

Я так понял, что re.findall парсит только строку.. а у меня во втором примере, нужно уже спарсить несколько строк

Как решить эту проблему? Чёт питоновскую документацию полистал и не смог сам раздуплиться =/
 
Ответить с цитированием

  #10  
Старый 13.12.2009, 14:51
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от [Dezzter]  
PHP код:
import re
import urllib2
url 
urllib2.urlopen('http://site.ru/test.php')
url=url.read()
match=re.findall('<!-- test -->[ \r\t].*?<!-- test2 -->'url)
match=str(match)[2:-2]
print  
match 
Проблема вот в чём, если HTML страница вот такого вида:
Код HTML:
<!-- test --> Сдесь какой-то текст <!-- test2-->
То всё парсится отлично, а вот если уже вот такого:
Код HTML:
<br><br><br>
<center> Первая строка   </center>
<center> Вторая строка </center>
<!-- test -->
<br>
<center> Пляске </center>
<br>
<!-- test2 -->
<center> Третья строка   </center>

<center> Четвёртая строка </center>
Тогда ни чего не парсится

Я так понял, что re.findall парсит только строку.. а у меня во втором примере, нужно уже спарсить несколько строк

Как решить эту проблему? Чёт питоновскую документацию полистал и не смог сам раздуплиться =/
re.DOTALL, re.MULTILINE
Но будет проц грузить...
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.