fgets関数から文字列を取得しています。その文字列を新しい文字列にクリーンアップして、2番目の文字列にすべての特別で潜在的に危険な文字がエスケープされるようにします。これはPHPのaddslashes()またはmysql_real_escape_string()で実行できることと似ています。PHPマニュアルで定義されているように:
mysql_real_escape_string()は、MySQLのライブラリ関数mysql_real_escape_stringを呼び出します。この関数は、\ x00、\ n、\ r、\、 '、 "、および\ x1aの文字の前に円記号を付加します。
このデータをmysqlクエリに送信するつもりはなく、SQLサーバーへの現在の接続もありません。ただ、Linuxマシンで実行されている単純なCLICプログラムでデータをクリーンアップしたいだけです。これは単純で静的解析で使用さつもりであるスプリント。私はここで他のいくつかの質問を調べましたが、それがわかりません。
void clean_string(char * origin, char * destiny)
{
//copies the origin to destiny scaping characters
}
文字列に「危険な」文字が含まれていると考える理由はまだ不明ですが、それらの一部をエスケープしたい場合は、次のようにします。
const char *str = "my dangerous";
const char *ooh = "aeoui\\";
char buf[BIG_ENOUGH];
size_t bp = 0;
for (size_t sp = 0; str[sp]; sp++) {
if (strchr(ooh, str[sp])) buf[bp++] = '\\';
buf[bp++] = str[sp];
}
buf[bp] = 0;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加