これは、ログインマネージャを実行しているサーバーのコードであり、悪意のあるアクセスをファイルにログインし、間違ったログインの結果を出力します。chars userとpassは、ソケットを使用したユーザー入力から取得されます。
if ((memcmp(user, "admin", strlen("admin")) == 0)) {
/*code... */
}
else {
char msg[600];
strcpy (msg,"Login error with ");
strcat (msg,"user: ");
strcat (msg,user);
strcat (msg," password: ");
strcat (msg,pass);
strcat (msg," from: ");
strcat (msg, client_ip);
puts (msg);
logfile->Write(msg);
return false;
}
問題は、出力コンソールとログファイルの両方での出力です。
このような:
Login error with user: lol
password: asd
:��ܔ��P{w� from: 127.0.0.1
なぜ奇妙な子嚢文字があるのですか?新しい行はソケットによるユーザー入力から来るので、どうすれば回避できますか?