Php 如何使用https安全地将密码从客户端发送到本地主机上的服务器

Php 如何使用https安全地将密码从客户端发送到本地主机上的服务器,php,javascript,html,http,https,Php,Javascript,Html,Http,Https,我找了好几个小时,找不到解决问题的办法 我目前正在我的笔记本电脑(本地主机)上测试一个网站。 我的站点有一个服务器端(php)和一个客户端 我正在寻找使用HTTPS发送密码,而不指定绝对路径。 (我的php和html在同一个目录中) 我的代码如下所示: <!-- Submit data to server-side --> <form name="input" action="databasebuilder.php" method="post">

我找了好几个小时,找不到解决问题的办法

我目前正在我的笔记本电脑(本地主机)上测试一个网站。 我的站点有一个服务器端(php)和一个客户端

我正在寻找使用HTTPS发送密码,而不指定绝对路径。 (我的php和html在同一个目录中)

我的代码如下所示:

      <!-- Submit data to server-side -->
      <form name="input" action="databasebuilder.php" method="post">
          <ul>
             <li>User name: <input type="text" name="user"> </li>
             <li>Password: <input type="text" name="password"> </li>
             <li>First name: <input type="text" name="name"> </li>
             <li>Last name: <input type="text" name="last"> </li>
             <li>Email: <input type="text" name="email"> </li>
         </ul>
             <input type="submit" value="Submit">
     </form>

  • 用户名:
  • 密码:
  • 名字:
  • 姓氏:
  • 电邮:

选择一个绝对路径或确保页面将使用
HTTPS
加载。如果用户输入

http://localhost/...
在浏览器中,您的web应用程序应重定向到:

https://localhost
例如,您可以使用PHP或apache的
mod_rewrite


您可以使用PHP动态创建绝对路径。看看这个例子:

$path  = 'https://';
$path .= $_SERVER['HTTP_HOST'] . '/';
$path .= 'path/to/your/app/action.php';
echo '<form action="' . $path . '"....'; 
$path='https://';
$path.=$\u服务器['HTTP\u主机']./';
$path.='path/to/your/app/action.php';

echo“如果表单尚未在HTTPS上,则无法执行此操作。是否要告诉我,每次我注册到站点时,它都会以HTTPS打开一个新的html页面以获取凭据?您也可以使用Ajax。但你可能必须给它一个绝对路径。你为什么不想要呢?@Alon好吧,不-但是当他们从http切换到https时,那些其他站点在指定绝对路径方面没有问题。为什么?我以前从未将网站上传到互联网上,我还不知道我是否同意使用绝对路径,所以我想让它尽可能灵活。我不明白。我使用的是action=“databasebuilder.php”。我不希望客户端以https加载页面我只希望在https中执行操作通过http加载页面并使用相对路径使用https发送表单是不可能的。使用绝对路径或使用httpsb加载页面,但使用绝对路径将迫使我在代码上载到真实服务器后更改代码?没有。因为您有
location.host
,所以这是可能的。也许这会进一步帮助您:或者检查:stackoverflow.com/questions/4140324/parse url with javascript
location.host
将包含加载页面的服务器的名称