这是我的情景:
我有一个php,mySQL的网站。我有一个软件应用程序,它有一个登录屏幕,并通过http:
通过网络发送用户名和密码 public String GetWebPageSource(String pURL)
{
try
{
byte[] vReceivedBytes = null;
using (System.Net.WebClient vWebClient = new System.Net.WebClient())
{
vReceivedBytes = vWebClient.DownloadData(pURL);
}
int vBomLen = 3;
byte[] vStrippedBytes = new byte[vReceivedBytes.Length - vBomLen];
Array.Copy(vReceivedBytes, vBomLen, vStrippedBytes, 0, vReceivedBytes.Length - vBomLen);
return System.Text.Encoding.UTF8.GetString(vStrippedBytes);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return null;
}
}
所以要发送用户名和密码我会写:
GetWebPageSource( “http://mywebsite.com/Login.php?username=stackoverflow&password=iscool”)
并且php文件会吐出一些文字,说明密码是被接受还是被拒绝。
但这不安全。所以我想让它变得安全...... https。整合https有多容易?代码会改变多少?我需要处理多少?什么是透明的。我是否必须检查cookie是否已经存在,如果没有编写验证方法,或者是否已经提供了可以为我执行此操作的库?
答案 0 :(得分:1)
对于编程的观点,使用http或https调用php脚本没有任何区别。只需配置apache(或任何其他Web服务器)来处理https(最值得注意的是获取证书)。
答案 1 :(得分:0)
简而言之,您需要将Web服务器配置为使用TLS / SSL。您为自己的网站使用哪种服务器端语言并不重要。
通常,服务器端脚本将在成功验证时设置cookie /会话,然后只检查cookie或会话数据以查找需要经过身份验证的用户的任何操作。使用正确配置的服务器,服务器和客户端的浏览器将自动处理身份验证的加密。
我还建议在身份验证步骤中使用调试代理并观察服务器的请求/响应。这将显示您是否确实拥有安全连接。