プッシュオーバーを使用して通信するパーソナルサーバーがあります。つまり、サーバーは、さまざまな優先度でメッセージを電話に直接送信するスクリプトをトリガーできます。ただし、これは1つの方法です。Pushoverのhtmlリンクを追加する機能を使用してこれを回避したいと思います。
私はソケットコードをよく知っていますが、それに含まれるセキュリティについてはややぼんやりしています。これがどのように機能するかの例は、電源が切れることです。サーバーがUPSに接続されているため、電話で電源が切れているというメッセージがすぐに送信されます。システムをシャットダウンしますか?(その後のメッセージは電源復旧時に送信される可能性があります。つまり、シャットダウンしたくない場合があります。)たとえば、example.com:4000/insert_a_generated_hash_hereへのリンクが含まれます。サーバーをシャットダウンすることにした場合、ポート4000を監視しているデーモンは受信します
GET /insert_a_generated_hash_here HTTP/1.1\r\n
host: www.example.com\r\n
\r\n
私が最初に心配しているのは、nullで終了していない文字列です。それはどのくらいの問題ですか?recvは自動的にnull終了しますか?
とにかく、私はhttp getを取得してハッシュします(または、潜在的に敵対的な文字列をハッシュすることはどれほど安全ですか?)。
MD5を使用した場合、http getは25b382b678bb33a21fa677c66e9d02a1にハッシュされます(MD5を使用する必要がありますか?これは私が考えた最初のハッシュです)。
この時点で、そのハッシュ(操作しても安全なはずですか?)は、「現在アクティブな」コマンドのテーブルと比較されます。サーバーは元の生成されたハッシュを作成したため、httpリクエストのハッシュを作成できます。着信ハッシュがテーブル内の何かと一致する場合、もちろん、そのコマンドは実行済みの事前に用意されたコマンドのみです。コマンドも10分間だけアクティブになり、その時点でアクティブリストから削除されます。また、「このコマンドは発行されましたが、アクティブではありませんでした」というメッセージを電話に送信する「非アクティブ」リストを追加することもできます。
この場合、コマンドはシャットダウンになりますが、サーバー上のユーザーがパッケージマネージャーなどを介して何かをインストールすることを承認する場合があります。デーモンは、単純なWebページに関連するhttp応答を返す場合もあります。 「OK!」と言って (それは大したことではないと思いますか?)
これはどれほど安全で、何に注意する必要がありますか?それとも、アイデア全体がセキュリティ自殺の頂点ですか?