XMLファイルを生成する.phpファイルがあります。このXMLをC#アプリケーションで使用していますが、ユーザーにこのページをブラウザーで表示させたくないため、要求がWindowsアプリケーションからのものであるかどうかをこの.phpファイル内で確認したいと思います。私を助けてください。良い1日を。
4 に答える
そのxmlファイルを取得するためのキーワードを追加するのはどうですか?そのxmlを使用するためのパスワードを作成し、myxml.php?key = mykeywordishereのようなphpファイルを要求します。キーワードは、重要な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();
}
リクエストのヘッダーで特別なユーザーエージェントを使用できるため、たとえば、ユーザーエージェントが「MyC#Application」であるかどうかを確認できます。そうでない場合、リクエストはアプリケーションによって発行されていません。
ユーザーエージェントを変更する方法については、 HttpRequest.UserAgentプロパティを参照してください。PHPでは、これを使用してユーザーエージェント文字列を取得します。
$userAgent = $_SERVER['HTTP_USER_AGENT'];
カスタムのUser-Agent文字列を使用することを検討し、Content-Typeを次のように設定する必要があります。"application/octet-stream".
または、C#アプリケーションでハードコードされたパスワードを使用します。
セキュリティが重要な場合は、HTTPSも使用する必要があります。これは、Wiresharkまたは同様のプログラムの基本を理解している人が以前のすべての情報を取得できるためです。