C# 检查请求是否来自Windows应用程序

C# 检查请求是否来自Windows应用程序,c#,php,C#,Php,我有一个生成XML文件的.php文件。我在我的C#应用程序中使用这个XML,我想在这个.php文件中检查请求是否来自windows应用程序,因为我不希望用户在浏览器中查看这个页面。请帮帮我。祝你今天愉快。为获取xml文件添加一些关键字怎么样?设置一些密码以获取xml,并请求php文件,如myxml.php?key=mykeywordishere,关键字可以用一些md5编码,这很重要。一种简单的方法可能是使用某个密钥作为秘密参数调用php脚本 www.myweb.com/myfunction.ph

我有一个生成XML文件的.php文件。我在我的C#应用程序中使用这个XML,我想在这个.php文件中检查请求是否来自windows应用程序,因为我不希望用户在浏览器中查看这个页面。请帮帮我。祝你今天愉快。

为获取xml文件添加一些关键字怎么样?设置一些密码以获取xml,并请求php文件,如myxml.php?key=mykeywordishere,关键字可以用一些md5编码,这很重要。

一种简单的方法可能是使用某个密钥作为秘密参数调用php脚本

www.myweb.com/myfunction.php?pass=secretPassword
此密钥将在来自#C应用程序的调用中进行加密

然后,您可以检查密码是否是您期望的密码,例如:

//hardcoded hashed pass with sha1, for example.
$myHashedPass = '40bd001563085fc35165329ea1ff5c5ecbdbbeef';

if(sha1($_GET['pass']) != $myHashedPass){
    die();
}

您可以在请求的头中使用特殊的用户代理,因此您可以检查,例如,用户代理的名称是“My C#Application”。如果不是,则该请求不是由您的应用程序发出的

请参阅有关如何更改用户代理的属性。在PHP中,使用以下命令获取用户代理字符串:

$userAgent = $_SERVER['HTTP_USER_AGENT'];

您应考虑使用自定义<强>用户代理< /String >字符串,并将<强>内容类型设置为“代码>应用程序/八位字节流”。< /代码> < /P> 或者在C#应用程序中使用硬编码密码

如果安全性很重要,您也应该使用HTTPS,因为对Wireshark或任何类似程序有基本了解的人都可以检索以前的所有信息