[php] remote site filteren

Pagina: 1
Acties:
  • 60 views sinds 30-01-2008

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 22:33
Ik doe mee aan het online spel orkfia. Daar heeft nu iemand een probleem. Hij wil inloggen op school, maar aangezien daar netsweeper is geinstalleerd kan hij de paginas niet openen. Netsweeper filter deze website namelijk omdat er het woord game instaat en dat soort woorden. De pagina filteren op deze woorden is geen probleem. Dat is makkelijk te doen met een scriptje.
Het grotere probleem is de POST en GET en COOKIES en HEADERS door te sturen. Nu heb ik wel al iets geprobeerd en het lukt aardig. Maar als ik nu inlog, verstuurt hij wel de variabeles maar inloggen gaat niet. De site reageert met dezelfde pagina die je zou krijgen als je een foute inlognaam in zou voeren. Weet iemand wat ik verkeerd doe?

http-headers:
http-headers bij orkfia
http-headers bij mijn server

scripts:

index.php
PHP:
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
<?php
$fp = fsockopen("www.orkfia.net", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   $out = "GET / HTTP/1.1\r\n";
   $out .= "Host: www.orkfia.net\r\n";
   $out .= "Connection: close\r\n\r\n";

   fputs($fp, $out);
   $repl = "";
   while (!feof($fp)) {
       $repl .= fgets($fp, 128);
   }
   fclose($fp);
}

header("content-type: text/plain");
$repl=explode("\r\n\r\n",$repl);
$headers=explode("\r\n",$repl[0]);
$site= implode("\r\n\r\n",array_slice ($repl, 2));
foreach ($headers as $value) {
header($value);
}
print $site;
?> 


main.php/redirect.php:

(enigste verschil is de volgende regel:
$out = "$method /main.php$getValues HTTP/1.1\r\n";
daarbij staat bij redirect.php:
$out = "$method /redirect.php$getValues HTTP/1.1\r\n";

PHP:
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
<?php
$gets=$_GET;
$posts=$_POST;
$method = "GET";
if ( is_array( $gets ) ) {
   $getValues = '?';
   foreach( $gets AS $name => $value ){
       $getValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';
   }
   $getValues = substr( $getValues, 0, -1 );
} else {
   $getValues = '';
}

if ( is_array( $posts ) ) {
   foreach( $posts AS $name => $value ){
   

if ( is_array( $value ) ) {
      $postValues .= urlencode( $name ) ."%5D";
   foreach( $value AS $name2 => $value2 ){
       $postValues .= urlencode( $name2 ) . "=" . urlencode( $value2 ) . '&';
}
} else {
       $postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';
}
  
 }
   $postValues = substr( $postValues, 0, -1 );
   $method = "POST";
} else {
   $postValues = '';
}
$fp = fsockopen("www.orkfia.net", 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   $out = "$method /main.php$getValues HTTP/1.1\r\n";
   $out .= "Host: www.orkfia.net\r\n";
   $out .= "Connection: close\r\n\r\n";
if ( $method == "POST" ) {
   $lenght = strlen( $postValues );
   $out .= "Content-Type: application/x-www-form-urlencoded\r\n";
   $out .= "Content-Length: $lenght\r\n";
   $out .= "\r\n";
   $out .= $postValues;
}
   fputs($fp, $out);
   $repl = "";
   while (!feof($fp)) {
       $repl .= fgets($fp, 128);
   }
   fclose($fp);
}

header("content-type: text/plain");
$repl=explode("\r\n\r\n",$repl);
$headers=explode("\r\n",$repl[0]);
$site= implode("\r\n\r\n",array_slice ($repl, 1));
foreach ($headers as $value) {
header($value);
}

print $site;
?> 

[ Voor 9% gewijzigd door Scorpion1984 op 28-02-2004 00:13 ]


Verwijderd

misschien is curl wat voor je?

http://nl.php.net/curl

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 22:33
Ja, ik denk dat ik het daarmee wel kan doen.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Scorpion1984 schreef op 28 februari 2004 @ 00:08:
Ik doe mee aan het online spel orkfia. Daar heeft nu iemand een probleem. Hij wil inloggen op school, maar aangezien daar netsweeper is geinstalleerd kan hij de paginas niet openen.
Dan mail je met de systeembeheerder voor een exception rule op die pagina. Het omzeilen van beveiligingen werken wij iig niet aan mee.

Professionele website nodig?


Dit topic is gesloten.