在我正在处理的应用程序中,创建用户的方式只有在激活其帐户后才被批准。 在激活之前, IsApproved标志将设置为false。 当他们提交激活信息时,我们想在激活用户之前检查其密码是否有效,但是如果用户未获得批准, Membership.ValidateUser(..)将始终返回fal ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
static int checkPassword(char* user_pw) {
char dummy[128];
int accept = 0;
char pw[8];
char len;
char* correct_pw = "xf35+";
memset(pw, 0, sizeof(pw));
memset(dummy, 0, sizeof(dummy));
len = strlen(user_pw);
if (len < 8) {
strcpy(pw, user_pw);
}
if (strcmp(pw, correct_pw) == 0) {
accept = 1;
}
return accept;
}
int main(int argc, char* argv[]) {
// Where argv[3] should be password
// ...
if (strlen(argv[3]) > 128) {
fprintf(stderr, "Password is too long!\n");
return 1;
}
if (checkPassword(argv[3]) == 0) {
fprintf(stderr, "Password is incorrect!\n");
return 1;
}
// ...
}
这里的密码是硬编码的,但是有什么方法可以绕过密码检查吗? 我注意到“len”被声明为一个字符,但仍然不知道如何解决这个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.