Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysylanie linku
Dagger
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Witam!
Jak mozna wyslac link? Ale bez koniecznosci stosowania formularza...
Tzn. mam link: www.jakis_server.pl/pliczek.php?zmienna=dane&cos_innego=dane2 itd.
Czy da sie (a jesli tak to jak?) wyslac ten link? Chcial bym aby skrypt reagowal na okreslone dane i jesli bedzie spelniony okreslony warunek to chcial bym aby skrypt "kliknal" w ten link.
Jak to mozna zrobic?
Z gory dzieki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
lukaswoj
post
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Wystarczy skorzystać z odpowiedniego nagłówka protokołu HTML a mówiąc bardziej po ludzku, wywołać funkcję header() np w ataki sposób:
[php:1:6897991eef]
<?php
header("Location: http://www.jakis_server.pl/pliczek.php?zmi...nnego=dane2");
?>
[/php:1:6897991eef]

Można w ten sposób symylować wypełnienie jakiegoś formularza ale tylko takiego, który wysyła dane metodą GET, do symolawania metody POST musiałbyś już użyć rozszerzenia php o nazwie "curl".
Go to the top of the page
+Quote Post
Dagger
post
Post #3





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Niestety nie pomoglo. Dodam jeszcze ze ten link dodatkowo musi "logowac sie" i dopiero wtedy moze wyslac dane do odpowiedniego pliku. (logowanie przy pomocy basic authorisation)

Probowalem juz tak:

[php:1:ef78daa61e]<?php
function http_get2($url)
{

$url_stuff = parse_url($url);
$port = isset($url_stuff['port']) ? $url_stuff['port'] : 80;

$fp = fsockopen($url_stuff['host'], $port);

$query .= "GET ".$url_stuff['path']." HTTP/1.1rn";
//$query = 'GET ' . $url_stuff['path'] . " HTTP/1.0n";
$query .= "User-Agent: Smithrn";
$query .= "Host: ".$url_stuff['host']."rnConnection: closern";
$query .= "Connection: closernrn";


fwrite($fp, $query);

while ($tmp = fread($fp, 1024))
{
$buffer .= $tmp;
}

preg_match('/Content-Type: (([a-z]*)/([a-z]*))/', $buffer, $parts);
return substr($buffer, strpos($buffer,$parts[0])+strlen($parts[0]));

}

function http_get($url)
{

$url_stuff = parse_url($url);
$port = isset($url_stuff['port']) ? $url_stuff['port'] : 80;

$fp = fsockopen($url_stuff['host'], $port);

$query = 'GET ' . $url_stuff['path'] . " HTTP/1.0n";
$query .= 'Host: ' . $url_stuff['host'];
$query .= "nn";

fwrite($fp, $query);

while ($tmp = fread($fp, 1024))
{
$buffer .= $tmp;
}

preg_match('/Content-Length: ([0-9]+)/', $buffer, $parts);
return substr($buffer, - $parts[1]);

}

header("http://login:haslo@www.jakis_server.pl/auth/edit.html?zmienna=cos&zmienna2=cos");

http_get2("http://login:haslo@www.jakis_server.pl/auth/edit.html?zmienna=cos&zmienna2=cos");

http_get('http://login:haslo@www.jakis_server.pl/auth/edit.html?zmienna=cos&zmienna2=cos');
?>[/php:1:ef78daa61e]

Niestety nic z tego nie zadzialalo. A dodam jeszcze ze jak wpisze ten link w przegladarce to zadziala poprawnie.
Go to the top of the page
+Quote Post
cboot
post
Post #4





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 2.02.2004

Ostrzeżenie: (0%)
-----


Cytat
Niestety nie pomoglo. Dodam jeszcze ze ten link dodatkowo musi "logowac sie" i dopiero wtedy moze wyslac dane do odpowiedniego pliku. (logowanie przy pomocy basic authorisation)

W takim razie Twój problem, to nie to, jak wysłać link (bo to zrobi w 100% przykład lukaswoja), tylko jak się automatycznie zalogować na http, tak jak już pytałeś w innym wątku.

Jeśli jesteś pewnien, że tamte linki po wpisaniu w przeglądarkę działają - logują Cię (czy napewno nie byłeś już zalogowany przed wpisaniem tych linków?), a w php nie, to nasuwa się przypuszczenie, że coś po drodze zmienia ich zawartość. Jeśli tak, to pomogłoby sprawdzenie dwóch rzeczy:

1. Czy link znajdujący się pomiędzy " " w php jest poprawnym stringiem: http://pl2.php.net/manual/pl/language.type...g.syntax.double - aby miec pewność, że jest ok, możesz podmienić sobie dla testu header na echo i sprawdzić czy wypisze Ci taki link jak wpisujesz w przeglądarce:
[php:1:0a5b976329]<?php
echo("http://login:haslo@www.jakis_server.pl/auth/edit.html?zmienna=cos&zmienna2=cos");
?>[/php:1:0a5b976329]
Oczywiście z tymy wartościami, które Ty używasz.

2. Sprawdzić, czy link jest kodowany na taki url jaki powinien, czyli czy w haśle i loginie nie znajdują się polskie litery, albo znaki specjalne i tak samo w całym kawałku: auth/edit.html?zmienna=cos&zmienna2=cos. Zwłaszcza chodzi tu o polskie znaki, bo przeglądarka w pasku adresu może je inaczej kodować niż ciąg wysyłany przez php. Jeśli nie ma tam nigdzie polskich znaków, to ok.

Niestety nic innego mi do głowy nie przychodzi.
Go to the top of the page
+Quote Post
Dagger
post
Post #5





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


No cos sie zmienilo...
po 1. string byl poprawny
po 2. jesli go wpisuje w przegladarce to napewno nie bylem wczesniej zalogowany
bledem u mnie bylo to:
[php:1:a37660892f]<?php
header("http://login:haslo@www.jakis_server.pl/auth/edit.html?zmienna=cos&zmienna2=c
os");
?>[/php:1:a37660892f]
Poprawilem na:
[php:1:a37660892f]<?php
header("Location: http://login:haslo@www.jakis_server.pl/aut...=cos&zmienna2=c
os");
?>[/php:1:a37660892f]
i czesciowo pomoglo... przekierowuje na strone na ktora powinien... ale prosi o podanie loginu i hasla (mimo ze mam go wpisane w linku)

Ma ktos pomysl jak to rozwiazac?
Go to the top of the page
+Quote Post
netzah
post
Post #6





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

Ostrzeżenie: (0%)
-----


Wyslij jeszcze naglowek o autoryzacji:
[php:1:68ce37239c]<?php
header ('Authorization: Basic '. base64_encode('login:haslo'));
?>[/php:1:68ce37239c]
Go to the top of the page
+Quote Post
Dagger
post
Post #7





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


hmm... jak dodalem to to teraz wyglada to tak:
- w IE nadal prosi o podanie hasla i loginu,
- natomiast w netscape dziala poprawnie.
a jak uruchomie ten skrypt poprzez crona na serwerku (bo tak docelowo ma byc uruchamiany) - nie dziala

Macie jeszcze jakies pomysly co mozna by z tym zrobic?

Moze inaczej dalo by sie wyslac te dane do pliku?
Go to the top of the page
+Quote Post
netzah
post
Post #8





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

Ostrzeżenie: (0%)
-----


Moze sprawdz dokladnie jakie naglowki wysyla przegladarka jak jestes zalogowany i wysylaj przez header() takie same :?: :idea:
Go to the top of the page
+Quote Post
Dagger
post
Post #9





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


A jak moge to sprawdzic? (zaznaczam ze nie mam dostepu do strony do ktorej sie loguje - do kodu)
Go to the top of the page
+Quote Post
netzah
post
Post #10





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

Ostrzeżenie: (0%)
-----


Np. jakims snifferem.
Go to the top of the page
+Quote Post
Dagger
post
Post #11





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


A mozesz jakiegos polecic?
Znalazlem jednego do instalacji ale nie dziala... a inny online jest platny :-P Chyba nie mam szczescia do szukania.
Go to the top of the page
+Quote Post
shpyo
post
Post #12





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


http://hacking.pl

tam sa sniffery na ich ftpie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Dagger
post
Post #13





Grupa: Zarejestrowani
Postów: 156
Pomógł: 0
Dołączył: 4.02.2003
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


eee przegladalem cala stronke i nic poza niektorymi ciekawymy artykulami nie znalazlem :-(
Oni maja tego ftp'a gdzies ukryte? ;-)
Go to the top of the page
+Quote Post
netzah
post
Post #14





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

Ostrzeżenie: (0%)
-----


Mozesz sprobowac np. Commview http://www.tamos.com/products/commview/, jest b. prostu w uzyciu; albo HTTP Look http://www.httpsniffer.com/ przeznaczony tylko wlasnie do HTTP.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:12