PHP请求是否通过SSL加密

PHP请求是否通过SSL加密,php,ssl,parameters,header,Php,Ssl,Parameters,Header,我正在创建一个简单的PHP应用程序,它使用JQuery和AJAX调用(GET方法)带有一些参数的PHP脚本用户名和密码。应用程序使用SSL 在Google Chrome Developer tools中跟踪请求时,我看到以下请求URL: 我使用WireShark确保在发送请求时对参数进行了加密,并且没有看到任何明显的请求头 我只是想百分之百肯定。SSL是否也加密标头中包含的参数?我这样做是否正确?我发现了一些关于这个主题的重复问题,但没有一个有具体的例子。是的,但使用$\u GET处理这样敏感

我正在创建一个简单的PHP应用程序,它使用JQueryAJAX调用(GET方法)带有一些参数的PHP脚本<代码>用户名和密码。应用程序使用SSL

在Google Chrome Developer tools中跟踪请求时,我看到以下请求URL:

我使用WireShark确保在发送请求时对参数进行了加密,并且没有看到任何明显的请求头


我只是想百分之百肯定。SSL是否也加密标头中包含的参数?我这样做是否正确?我发现了一些关于这个主题的重复问题,但没有一个有具体的例子。

是的,但使用$\u GET处理这样敏感的数据是个坏主意

  • 此数据将保存在服务器日志中
  • 此数据将保存在浏览器缓存中
  • 甚至在登录过程中拍摄的屏幕截图也可能包含这些数据
此外,即使数据被加密,它仍然是“可用”的,并且可以被解密。 改用$\u POST

本文将展示以下风险:


在这里,它是PHP还是AJAX并不重要

唯一重要的是URL:它是
https://
还是
http://

如果它是
https://
,因为它意味着它是https(!),简而言之,这意味着TLS中的HTTP(SSL从20年前就死了,它的继承者是TLS)

TLS加密一切(它也做其他事情,但这里我们只讨论保密需要),如果实施和配置正确的话(我想强调这一点,因为它不是一个银弹,贴上标签“TLS”这还不够,例如,存在证书验证的整个问题,因为身份验证可能被认为比保密性更重要,因为事实上,如果向某个端点加密所有内容,您无法100%确定它是有效的,您会得到什么?)

您在URL中看到的内容是HTTP协议的一部分。URL将作为
GET/php/login.php?…
位于HTTP流中,就在其他头之前。如果使用其他HTTP方法,则相同。因为它在HTTP内部,所以它在TLS内部,因此是加密的


被动监视器唯一能看到的就是域名(在HTTPS连接之前的DNS查询中-HTTPS/TLS上的DNS解决了这个问题-并且由于TLS握手开始时的SNI扩展-加密SNI(仍在设计中)将解决这个问题)。

非常感谢您的回复!我将Thorsten的答案标记为已接受的答案,因为他为我提供了一种提高安全性的方法以及回答问题的方法。感谢Thorsten,我更改了POST方法的GET请求,并阅读了您包含的文章。从你的回答中学到很多,谢谢!