2016-07-21 76 views
-2

我只想知道除了get和post方法将变量从一个页面传递到另一个页面之外,是否还有其他方法。我知道有会议方法,但我不想要那样。 我的另一个疑问是会话安全与否。他们中的许多人认为会议不安全。它可靠吗?何时使用会话,什么时候不使用? login1.php是否有任何方法可以传递变量,而不是在PHP中获取和发布?

<!doctype html> 
<html> 
<body> 
<form name="login_form" method="post" id="frmLoginAdmin"   action="login2.php"> 
<input type="hidden" value="abcd" name="abcda"> 
<input type="submit"> 
</form> 
</body> 
</html> 

login2.php

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 

<body onLoad="auto();"> 
<form action="login1.php" method="POST" name="myform"> 
<input type="hidden" value="<?php echo $_POST['abcda']; ?>" name="you know"> 
<input type="hidden" value="somevalue" name="what todo here"> 
<input type="hidden" value="somevalue" name="so do it"> 
<input type="hidden" value="somevalue" name="ok"> 
</form> 
</body> 
</html> 
<script> 
function auto() { 
    document.myform.submit(); 
} 
</script> 

这是条件。首先,我使用get方法将值传递回login1.php.But,现在我不希望我的用户查看哪些变量通过。所以我使用上面的方法,但它首先重定向到login2.php显示一个空白页面的一秒钟的用户,然后只有它重定向到login1.php.This是我的问题,这就是为什么我要求任何其他替代方法通过可变

+2

是的,还有其他HTTP方法,例如'PUT','PATCH'或'DELETE' – Daan

+1

会话比post和/或get因为他们是服务器端。 – Andrew

+0

“我知道有会话方法,但我不希望那样”。为什么不?如果您要求替代所有人普遍使用的东西,您需要解释为什么它不符合您的需求。 – iainn

回答

-1

会话:

会话被存储在服务器上,并且不能由用户(客户端)进行访问。它用于存储整个站点的信息,例如登录会话。它可以用来存储在服务器端的信息,不同的PHP脚本之间传递

请注意,会话创建标识像PHPSESSID会话cookie,从而可能会使用的服务器端脚本语言,而大多数人不喜欢揭示。为了不泄露,我们可以从php中更改此cookie名称。另外,通过窃取cookie,有人可能会劫持会话。所以,应该通过验证来正确使用会话。如果会话验证完成,您可以防止劫持并安全使用它。

为安全使用方法:

安全地使用会话,可以按照此博客这表明会话如何进行验证,并从被劫持阻止。

http://blog.teamtreehouse.com/how-to-create-bulletproof-sessions

+0

从这个安全的教程'$ https = isset( $ secure)? $ secure:isset($ _ SERVER ['HTTPS']);'有点不对。 – PeeHaa

+0

是的,但是,我想要显示的是,检查存储在用户的会话和IP中的IP,以查看会话是否被劫持。 –

0

没有与HTTP没有其他方式(除了前面已经提到什么HTTP允许)。

但是还有许多其他方法可以将数据从服务器传输到服务器,如FTP或建立直接套接字连接。

请注意,您需要安装/配置等其他方式,也许不仅在服务器上(对于通过防火墙通信,您还需要允许使用的端口)

相关问题