Toon posts:

proxy en forum

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

Verwijderd

Topicstarter
Hoi,

Ik heb een forum draaien waar iedereen op kan...! Maar sommige mensen draaien een proxy en die proberen in te loggen maar als ze dan op login klikken komen ze gewoon weer terug op de begin pagina ipv dat hij ze doorstuurt naar het forum!
Nu heb ik bij sommige mensen www.mijnsite.com al geexclude maar ik kan dat niet bij iedereen lopen doen!
Ik denk zelf dat het misschien aan het cachen van de pagina ligt... maar weet ik niet zeker

Weet iemand een oplossing hiervoor?

[ Voor 11% gewijzigd door Verwijderd op 05-09-2003 15:15 ]


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

• De juiste headers mee sturen (must revalidate, no-cache, expire-date in het verleden);
• eventueel een uniek getal ergens in de pagina of de URL, zodat je in feite om caching heen werkt.
• eventueel met cookies werken kan ook :) .

Sundown Circus


Verwijderd

Topicstarter
Dit is mijn cache control die in de header staat:

// Cache-control
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

Hij werkt ook met cookies om wachtwoorden/etc.. vast te houden...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:38

TeeDee

CQB 241

Ik heb gemerkt dat dat niet altijd voldoende is.
Een uniek getal in de URL zetten werkt ook zeer goed om dit soort problemen te omzeilen. (zoals RedRose al zei)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op 05 September 2003 @ 15:22:
Ik heb gemerkt dat dat niet altijd voldoende is.
Een uniek getal in de URL zetten werkt ook zeer goed om dit soort problemen te omzeilen. (zoals RedRose al zei)
Heb je misschien een link/voorbeeld hoe je dit moet doen! En moet dit dan in je login stuk staan of je header?

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

TeeDee schreef op 05 September 2003 @ 15:22:
Ik heb gemerkt dat dat niet altijd voldoende is.
Een uniek getal in de URL zetten werkt ook zeer goed om dit soort problemen te omzeilen. (zoals RedRose al zei)
A la:
PHP:
1
$url=("http://www.splut.nl?bla=mooh&uid=".uniqid());

Sundown Circus


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:38

TeeDee

CQB 241

oui monsieur.

Ik doe bij dit soort problemen bijna alles met een datumtijd achtig iets. Dus ook images, links, urls etc. etc. Werkt als een tiet!

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
ik had zelf al dit gedaan:

PHP:
1
2
echo "\n<meta http-equiv=\"refresh\" "   
         . " content=\"0;URL=http://www.mijnsite.nl">\n";


maar dat werkte niet helemaal

[ Voor 21% gewijzigd door Verwijderd op 05-09-2003 15:27 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:38

TeeDee

CQB 241

mjah, dat is toch echt iets anders.

dat is alleen een refresh. Door die unique id in de url oid mee te geven zeg je tegen een proxy feitelijk: Man, dit is nieuwe zooi, haal maar helemaal opnieuw binnen ipv het uit je cache te halen.

[ Voor 75% gewijzigd door TeeDee op 05-09-2003 15:30 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
// Based on the action, choose what to do
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
    switch($action){
        case 'login':
            if(!$loginsubmit) {
                eval("\$misc = \"".template("misc_login")."\";");
                $misc = stripslashes($misc);
            }else{
                $password = md5($password);
                $query = $db->query("SELECT * FROM $table_members WHERE username='$username' AND password='$password'");
                if($query && $db->num_rows($query) == 1){
                    $member = $db->fetch_array($query);
                    $db->query("DELETE FROM $table_whosonline WHERE ip='$onlineip' && username='xguest123'");
                    $currtime = time() + (86400*30);
                    $username = $member[username];
                    if($server == 'Mic'){
                        $misc = '<script>
                            function setCookie(name, value, expires, path, domain, secure) {
                                var curCookie = name + "=" + escape(value) +
                                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                                ((path) ? "; path=" + path : "") +
                                ((domain) ? "; domain=" + domain : "") +
                                ((secure) ? "; secure" : "");
                                document.cookie = curCookie;
                            }
                            
                            var now = new Date();
                            now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
                            
                            setCookie("xmbuser", "'.$username.'", now, "'.$cookiepath.'", "'.$cookiedomain.'");
                            setCookie("xmbpw", "'.$password.'", now, "'.$cookiepath.'", "'.$cookiedomain.'");
                            
                            window.location="index.php";
                        </script>';
                    }else{
                        setcookie("xmbuser", $username, $currtime, $cookiepath, $cookiedomain);
                        setcookie("xmbpw", $password, $currtime, $cookiepath, $cookiedomain);
                        header("Location: index.php");
                    }
                    
                }else{
                    eval("\$header = \"".template("header")."\";");
                    echo $header;
                    eval("\$incorrectpassword = \"".template("misc_login_incorrectdetails")."\";");
                    end_time();
                    eval("\$footer = \"".template("footer")."\";");
                    echo $incorrectpassword;
                    echo $footer;
                    exit();
                }
            }
            break;


Dus
PHP:
1
window.location="index.php";


wordt?:
PHP:
1
window.location="index.php".uniqid;

[ Voor 18% gewijzigd door Verwijderd op 05-09-2003 15:34 ]


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Verwijderd schreef op 05 September 2003 @ 15:34:
Dus
PHP:
1
window.location="index.php";


wordt?:
In principe wel ja ;)

[ Voor 28% gewijzigd door RedRose op 05-09-2003 15:36 ]

Sundown Circus


Verwijderd

Topicstarter
als ik deze code gebruik:

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
// Based on the action, choose what to do
    switch($action){
        case 'login':
            if(!$loginsubmit) {
                eval("\$misc = \"".template("misc_login")."\";");
                $misc = stripslashes($misc);
            }else{
                $password = md5($password);
                $query = $db->query("SELECT * FROM $table_members WHERE username='$username' AND password='$password'");
                if($query && $db->num_rows($query) == 1){
                    $member = $db->fetch_array($query);
                    $db->query("DELETE FROM $table_whosonline WHERE ip='$onlineip' && username='xguest123'");
                    $currtime = time() + (86400*30);
                    $username = $member[username];
                    if($server == 'Mic'){
                        $misc = '<script>
                            function setCookie(name, value, expires, path, domain, secure) {
                                var curCookie = name + "=" + escape(value) +
                                ((expires) ? "; expires=" + expires.toGMTString() : "") +
                                ((path) ? "; path=" + path : "") +
                                ((domain) ? "; domain=" + domain : "") +
                                ((secure) ? "; secure" : "");
                                document.cookie = curCookie;
                            }
                            
                            var now = new Date();
                            now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
                            
                            setCookie("xmbuser", "'.$username.'", now, "'.$cookiepath.'", "'.$cookiedomain.'");
                            setCookie("xmbpw", "'.$password.'", now, "'.$cookiepath.'", "'.$cookiedomain.'");
                            
                            <?
                            echo ("window.location='index.php'".uniqid());
                            ?> 
                        </script>';
                    }else{
                        setcookie("xmbuser", $username, $currtime, $cookiepath, $cookiedomain);
                        setcookie("xmbpw", $password, $currtime, $cookiepath, $cookiedomain);
                        header("Location: index.php");
                    }
                    
                }else{
                    eval("\$header = \"".template("header")."\";");
                    echo $header;
                    eval("\$incorrectpassword = \"".template("misc_login_incorrectdetails")."\";");
                    end_time();
                    eval("\$footer = \"".template("footer")."\";");
                    echo $incorrectpassword;
                    echo $footer;
                    exit();
                }
            }
            break;


zegt ie:

Parse error: parse error, unexpected T_STRING in /usr/home/www.mijnsite.nl/www/forum/misc.php on line 87

komt dat door de <? en ?> ??

Verwijderd

Aangezien de rest al PHP is, mag je die inderdaad weglaten :)

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

PHP:
1
echo ("window.location=\"index.php?uid=".md5(uniqid(""))."\"");
Even debuggen dan toch.. ;)

.edit:

Wat zit er op regel 86 dan? Je hebt vast ergens een slash te veel of te weinig staan...

En check uniqid() even, dan snap je die meer. :)

ff kijken of je m ziet

[ Voor 73% gewijzigd door RedRose op 05-09-2003 15:54 ]

Sundown Circus


Verwijderd

Topicstarter
sorry jongens, RedRose: ik heb je code
PHP:
1
echo ("window.location='index.php?uid=".uniqid()."'");


er tussen gezet zonder <? en ?>

maar ik krijg nog steeds deze error:

Parse error: parse error, unexpected T_STRING in /usr/home/www.mijnsite.nl/www/forum/misc.php on line 86

[ Voor 11% gewijzigd door Verwijderd op 05-09-2003 15:47 ]


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Verwijderd schreef op 05 September 2003 @ 15:46:
sorry jongens, RedRose: ik heb je code
PHP:
1
echo ("window.location='index.php?uid=".uniqid()."'");


er tussen gezet zonder <? en ?>

maar ik krijg nog steeds deze error:

Parse error: parse error, unexpected T_STRING in /usr/home/www.mijnsite.nl/www/forum/misc.php on line 86
en wat staat er op regel 86?

trouwens, dit is gewoon standaard debug werk

Verwijderd

Topicstarter
Erkens schreef op 05 September 2003 @ 15:50:
[...]

en wat staat er op regel 86?

trouwens, dit is gewoon standaard debug werk
op regel 86 staat de code die RedRose me heeft gegeven... zijn er dan progjes waarmee je php kan debuggen??

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 21:12

Koffie

Koffiebierbrouwer

Braaimeneer

Ik wilde deze naar PW moven, daar deze niet in NT hoort.

Echter kreeg ik dit van een PW collega:
Naast dat dat standaard debug werk is is het hier niet de bedoeling dat we support gaan leveren op scripts van derden. Als je problemen hebt met features ed kun je het beste bij de makers terecht. Het is iig niet de bedoeling dat je de P&W bezoekers aan het werk zet...
Helaas dus ..

Braaikamer - Smoke&BBQ

Pagina: 1

Dit topic is gesloten.