フィッシングを検出するプログラムを書いています。URLのベースかどうか、タグで同じかどうかを確認しようとしています。たとえば、http://maps.google.com"> www.maps.yahoo.com の場合、URL の最後の 2 つの部分が同じかどうか、つまり google.com = yahoo.com またはいいえ。
そのために次のコードを使用しています。
void checkBase(char *add1, char *add2){
char *base1[100], *base2[100];
int count1 = 0, count2 = 0;
base1[count1] = strtok(add1, ".");
while(base1[count1] != NULL){
count1++;
base1[count1] = strtok(NULL, ".");
}
base2[count2] = strtok(add2, ".");
while(base2[count2] != NULL){
count2++;
base2[count2] = strtok(NULL, ".");
}
if((base1[count1-1] != base2[count2-1]) && (base1[count1-2] != base2[count2-2])){
cout << "Bases do not match: " << endl
<< base1[count1-2] << "." << base1[count1-1] << " and "
<< base2[count2-2] << "." << base2[count2-1] << endl;
}
else{
cout << "Bases match: " << endl
<< base1[count1-2] << "." << base1[count1-1] << " and "
<< base2[count2-2] << "." << base2[count2-1] << endl;
}
}
if文の比較が正しいかどうかわかりません。2 つの URL を渡しています。ありがとう