Session nicht über 2 Browserfenster

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Session nicht über 2 Browserfenster

    Hallo

    Gibt es eine möglichkeit das die session bendet wird sobald man im eingelogten zstand versucht es im neuen fenster zu offen? oder gibt es eine möglichkeit das mans garnet im neuen fenster öffen kann? Hab das Problem das man so in dem Browsergame es als bug gut ausnutzen kann um seine flotte zu verdoppeln. einfach in der zeit wo man eingelogt ist die flotten.php im neuen fenster öffnen und dort sein unwesen treiben. Vieleicht hat einer von euch ne idee, so das die session sofort beendet wird sobald man versucht mit der rechten maus oder dem mausrad ein die derzeitige seite im neuen fenster zu öffnen.
    Riek-Media.com - Webhosting riek-media.com
  • "Dragon4048" schrieb:

    Hallo

    Gibt es eine möglichkeit das die session bendet wird sobald man im eingelogten zstand versucht es im neuen fenster zu offen? oder gibt es eine möglichkeit das mans garnet im neuen fenster öffen kann? Hab das Problem das man so in dem Browsergame es als bug gut ausnutzen kann um seine flotte zu verdoppeln. einfach in der zeit wo man eingelogt ist die flotten.php im neuen fenster öffnen und dort sein unwesen treiben. Vieleicht hat einer von euch ne idee, so das die session sofort beendet wird sobald man versucht mit der rechten maus oder dem mausrad ein die derzeitige seite im neuen fenster zu öffnen.


    Wen sowas geht, hast du da eher was falsch programmiert... Ob der User jetzt ne neue Seite öffnen, oder im alten Fenster kannste ohen weiteres nciht feststellen. Dem Webserver wird ja die gleiche Anfrage geschickt!
  • hm ich weiss leider einfach nicht was

    Hier mal der code

    Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. require("config.inc.php");
    4. $PATH = $CONFIG['internal']['path'];
    5. require("$PATH/mysql.inc.php");
    6. require("$PATH/config.inc.php");
    7. define('SMARTY_DIR', $CONFIG['internal']['smarty_dir']);
    8. require(SMARTY_DIR . 'Smarty.class.php');
    9. $smarty = new Smarty;
    10. $smarty->assign("CONFIG_game_name", $CONFIG["game"]["name"]);
    11. $smarty->assign("CONFIG_internal_serverpath", $CONFIG["internal"]["serverpath"]);
    12. session_start();
    13. // print_r($_SESSION);
    14. $db = new cl_extended_database;
    15. $err = '';
    16. if (isset($_SESSION['id']))
    17. {
    18. if (!isset($_SESSION['coords']))
    19. {
    20. $_SESSION['coords'] = $db->planets_get_coords($id);
    21. }
    22. require('resbar.inc.php'); //Refresh Task, Res & display resbar
    23. // print_r($_POST);
    24. if (isset($_POST['x']) or isset($_GET['x']))
    25. {
    26. if(isset($_POST['x']))
    27. {
    28. $x = $_POST['x'];
    29. }
    30. else
    31. {
    32. $x = $_GET['x'];
    33. }
    34. // Flotten-Info anzeigen:
    35. if($x == 5)
    36. {
    37. $fleet_ships = array();
    38. $tid = $_GET['tid'];
    39. $query = "select fleetid from transfer where id='$tid'";
    40. $db->query($query);
    41. $db->err();
    42. if($row = $db->fetch())
    43. {
    44. $fleet_ships = $db->get_fleet_info($row['fleetid']);
    45. }
    46. $x = 0;
    47. $smarty->assign("transferlist", $db->fleetmenu_list($_SESSION['coords']));
    48. $smarty->assign("fleet_ships", $fleet_ships);
    49. $smarty->display("fleet_info.thtml");
    50. }
    51. // Abbruch einer Flotte:
    52. if($x == 4)
    53. {
    54. $tid = $_GET['tid'];
    55. $query = "select * from transfer where id='$tid'";
    56. $db->query($query);
    57. $db->err();
    58. $row = $db->fetch();
    59. if($row['processed'] == '0')
    60. {
    61. $now = time();
    62. $dauer = $now - $row['tstart'];
    63. $new_there = $now;
    64. $new_back = $now + $dauer;
    65. $option = $row['option'];
    66. $db->reinit();
    67. $db->flotten_abbruch($tid, $new_there, $new_back, 999, 1);
    68. }
    69. $x = 0;
    70. $smarty->assign("transferlist", $db->fleetmenu_list($_SESSION['coords']));
    71. $smarty->assign("orbitlist", $db->ship_orbit_list($_SESSION['coords']));
    72. $smarty->display("fleets1.thtml");
    73. }
    74. if($x == 3 && isset($_POST['opt']))
    75. {
    76. if($_POST['opt'] == 'a') //Angriff?
    77. {
    78. // ft1,ft2,ft3 prüfen...
    79. $checkpos['gal'] = $_POST['ft1'];
    80. $checkpos['sys'] = $_POST['ft2'];
    81. $checkpos['plan'] = $_POST['ft3'];
    82. if($db->get_planet_userid($checkpos) == $_SESSION['id'])
    83. {
    84. $x = 1;
    85. $err = "Sie versuchten einen eigenen Planeten anzugreifen!<br>-> Auftrag abgebrochen!";
    86. $smarty->assign("err", $err);
    87. }
    88. }
    89. if($_POST['opt'] == 's' && $CONFIG['game']['begrenzte_Stationierung']=='ein') //Stationierung?
    90. {
    91. // ft1,ft2,ft3 prüfen...
    92. $checkpos['gal'] = $_POST['ft1'];
    93. $checkpos['sys'] = $_POST['ft2'];
    94. $checkpos['plan'] = $_POST['ft3'];
    95. if($db->get_planet_userid($checkpos) != $_SESSION['id'])
    96. {
    97. $x = 1;
    98. $err = "Sie versuchten Flotten auf einen fremden Planeten zu stationieren!<br>-> Auftrag abgebrochen!";
    99. $smarty->assign("err", $err);
    100. }
    101. }
    102. }
    103. if($x == 2)
    104. {
    105. // ft1,ft2,ft3 prüfen...
    106. $checkpos['gal'] = $_POST['ft1'];
    107. $checkpos['sys'] = $_POST['ft2'];
    108. $checkpos['plan'] = $_POST['ft3'];
    109. if($db->check_valid_planet($checkpos) == '-1')
    110. {
    111. $x = 1;
    112. $err = "Der angegebene Zielplanet existiert nicht!";
    113. $smarty->assign("err", $err);
    114. }
    115. }
    116. if ($x == 1) {
    117. $db->reinit();
    118. $homefid = $db->get_fleetid($_SESSION['coords']);
    119. $db->reinit();
    120. $fleet = 0;
    121. $neg = 0;
    122. for($i = 0;$i < 500;$i++) {
    123. if (isset($_POST['c' . $i])) {
    124. if ($_POST['c' . $i] > 0) {
    125. $fleet = true;
    126. if ($db->fleet_count_ships($homefid, $i) < $_POST['c' . $i]) {
    127. $neg = 1;
    128. }
    129. $db->reinit();
    130. }
    131. if ($_POST['c' . $i] < 0) {
    132. $neg = 1;
    133. // $fleet=0;
    134. }
    135. }
    136. if ($neg == 1)
    137. break;
    138. }
    139. // echo "DBUG: fleet: $fleet, neg: $neg<br>";
    140. if ($fleet == 0 || $neg == 1) {
    141. $db->reinit();
    142. $smarty->assign("err", 1);
    143. $smarty->assign("transferlist", $db->fleetmenu_list($_SESSION['coords']));
    144. $smarty->assign("orbitlist", $db->ship_orbit_list($_SESSION['coords']));
    145. $smarty->display("fleets1.thtml");
    146. die();
    147. }
    148. $smarty->assign("startcoords", $_SESSION['coords']);
    149. $ar = $db->fleet_disp2($_POST);
    150. $smarty->assign("fleet", $ar['a_fleet']);
    151. $smarty->assign("ships", $ar['a_ships']);
    152. //print_r($ar);
    153. $smarty->display("fleets2.thtml");
    154. die();
    155. }
    156. else if ($x == 2)
    157. {
    158. $data = $db->fleet_disp3($_POST);
    159. $sprit = $_POST['sprit'];
    160. if($sprit <= 0)
    161. {
    162. $sprit = round(($_POST['h2need']*$_POST['entf']/35000*(($_POST['s']/10)+1)*(($_POST['s']/10)+1)),0)+1;
    163. }
    164. $smarty->assign("to", $data['to']);
    165. $smarty->assign("ships", $data['ships']);
    166. $smarty->assign("sprit", $sprit);
    167. $smarty->assign("load", $_POST['load']);
    168. //print_r($data);
    169. //Kolonisationsschiff dabei?
    170. if (isset($_POST['c107']) && $_POST['c107'] > 0) {
    171. $smarty->assign("kolo", 1);
    172. }
    173. //Recycler dabei?
    174. if (isset($_POST['c102']) && $_POST['c102'] > 0) {
    175. $smarty->assign("recycler", 1);
    176. }
    177. //Sonde dabei?
    178. if (isset($_POST['c103']) && $_POST['c103'] > 0) {
    179. $smarty->assign("spy", 1);
    180. }
    181. //Invasionseinheit dabei?
    182. if (isset($_POST['c108']) && $_POST['c108'] > 0) {
    183. $smarty->assign("invasion", 1);
    184. }
    185. $smarty->display("fleets3.thtml");
    186. }
    187. else if ($x == 3)
    188. {
    189. $homefid = $db->get_fleetid($_SESSION['coords']);
    190. $db->reinit();
    191. $fleet = 0;
    192. $neg = 0;
    193. for($i = 0;$i < 500;$i++)
    194. {
    195. if (isset($_POST['c' . $i]))
    196. {
    197. if ($_POST['c' . $i] > 0)
    198. {
    199. $fleet = true;
    200. if ($db->fleet_count_ships($homefid, $i) < $_POST['c' . $i])
    201. {
    202. $neg = 1;
    203. }
    204. $db->reinit();
    205. }
    206. if ($_POST['c' . $i] < 0)
    207. {
    208. $neg = 1;
    209. // $fleet=0;
    210. }
    211. if (!strpos($_POST['c' . $i], "-"==false))
    212. {
    213. $neg = 1;
    214. }
    215. }
    216. }
    217. // Check und losschicken...
    218. // echo "Starting fleet...<br>";
    219. if(isset($_POST['opt']))
    220. {
    221. $msg = $db->start_fleet($_SESSION['coords'], $_POST);
    222. }
    223. else
    224. {
    225. $msg = "Es wurde keine Aktion ausgewählt!";
    226. }
    227. $db->reinit();
    228. $smarty->assign("msg", $msg);
    229. $smarty->assign("transferlist", $db->fleetmenu_list($_SESSION['coords']));
    230. $smarty->assign("orbitlist", $db->ship_orbit_list($_SESSION['coords']));
    231. $smarty->display("fleets1.thtml");
    232. die();
    233. }
    234. else if ($x == 0)
    235. {
    236. }
    237. else
    238. {
    239. echo "Don't know Value '$x' for \$x. You are cheating, or this is a BUG!<br>";
    240. }
    241. }
    242. else
    243. {
    244. $db->reinit();
    245. $db->clear_planet_orbit($_SESSION['coords']);
    246. $smarty->assign("transferlist", $db->fleetmenu_list($_SESSION['coords']));
    247. $smarty->assign("orbitlist", $db->ship_orbit_list($_SESSION['coords']));
    248. $smarty->display("fleets1.thtml");
    249. }
    250. }
    251. else
    252. {
    253. session_destroy();
    254. $smarty->display("login_warning.thtml");
    255. }
    256. ?>
    Alles anzeigen



    Hab hier schon versucht ne Prüfung ein zu bauen jedoch ohne erfolg. Bei ogame ist das so wenn ich da flotten.php im neuen fenster öffne kann ich mich neu einloggen

    Quellcode

    1. $homefid = $db->get_fleetid($_SESSION['coords']);
    2. $db->reinit();
    3. $fleet = 0;
    4. $neg = 0;
    5. for($i = 0;$i < 500;$i++)
    6. {
    7. if (isset($_POST['c' . $i]))
    8. {
    9. if ($_POST['c' . $i] > 0)
    10. {
    11. $fleet = true;
    12. if ($db->fleet_count_ships($homefid, $i) < $_POST['c' . $i])
    13. {
    14. $neg = 1;
    15. }
    16. $db->reinit();
    17. }
    18. if ($_POST['c' . $i] < 0)
    19. {
    20. $neg = 1;
    21. // $fleet=0;
    22. }
    23. if (!strpos($_POST['c' . $i], "-"==false))
    24. {
    25. $neg = 1;
    26. }
    27. }
    28. }
    Alles anzeigen
    Riek-Media.com - Webhosting riek-media.com