密码是在提交PHP后以文本形式发送的吗?

Nik*_*har 5 php

我正在用登录表单中的密码搜索简单哈希.我遇到了这个http://tinsology.net/2009/06/creating-a-secure-login-system-the-right-way/.在这里他哈希密码,创建一个盐,然后再次哈希密码和盐.我自己正在构建一个登录表单,这是abc.php

<form name="register" action="register.php" method="post">
Username: <input type="text" name="username" maxlength="30" />
Password: <input type="password" name="pass1" />
Password Again: <input type="password" name="pass2" />
<input type="submit" value="Register" />
</form>
Run Code Online (Sandbox Code Playgroud)

提交后,register.php,它有

$u=$_REQUEST['username'];
$p=$_REQUEST['pass1'];
//salt create function
//hashing code
//final hash password 
Run Code Online (Sandbox Code Playgroud)

然后在数据库中提交$ u和'final password'.

问:我的问题是从abc.php提交表单时,密码是否为文本?

如果是,那么有可能有人阅读它,然后需要哈希密码,因为即使我登录,我也会提交页面,并从另一页上的$ _REQUEST中检索通行证和用户名,其中它将被检查,它作为文本旅行,因此可以被某人阅读.

Niy*_*wan 6

您的密码是通过HTTP Post或HTTP Get发送的,取决于表单中的方法.HTTP Post或HTTP Get通过套接字流发送,有人可以一路嗅探您的数据,您的网络管理员,您的ISP提供商等.

如果要创建安全登录,则服务器必须支持HTTPS.如果您通过HTTPS发送,则无人可以读取您的数据.


Daa*_*ape 6

密码现在以明文形式发送.有一种不使用HTTPS的解决方法.您可以在使用javascript通过HTTP套接字发送密码之前对密码进行哈希处理.那里有几个教程.这不如使用https好,但总比没有好.