2013-05-26 65 views
0

我有一个问题,我无法解决。PHP和jQuery - 聊天安全

我建立了一个在线游戏聊天,我希望每个页面都有不同的聊天室。 网址如下= play.php?plc=[arena/advanture/bank/...]

我有一个名为pages的SQL表,它定义了每一页。对于instanse:

╔════╦══════════════╗ 
║ id ║ name  ║ 
╠════╬══════════════╣ 
║ 1 ║ arena  ║ 
║ 2 ║ advanture ║ 
║ 3 ║ bank   ║ 
║ 4 ║ weapons  ║ 
╚════╩══════════════╝ 

的每一页都做他的潮头计算,如果你被允许进去,或者你不能。 如果你不能,我做header()exit;

我会解释它是如何连接到问题的。

ajax文件无法知道GET主文件有(play.php)。 [或mabye是的?] 所以我不能得到页面ID。

我想将<input>与隐藏类型,但然后它会是hackble。如果用户无法进入页面,他可以将输入值更改为某个ID,并访问该页面的聊天。

我希望我解释我自己好,我的英文不太好......

+1

使用会话也许......? – bwoebi

+1

我想你应该使用会话 –

回答

1

的Ajax的文件可以通过window.location获得帕拉姆,但你应该在PHP中使用会话,否则用户可以操纵这个价值,并阅读所有聊天,即使他们不在那里。

session_start(); 

$_SESSION['area'] = ...; 
+0

谢谢!我忘了它 – HtmHell

+0

会话不会阻止用户更改地址栏中的查询字符串(因此,会话变种),除非查询字符串包含服务器端脚本可以解析的ID –

+0

是,corse'$ _SESSION如果不允许用户进入该区域,则不应设置['区域']'。 – kelunik