验证码错误无法读取cookie 不管我有没有输密码和验证码都出现这提示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码错误无法读取cookie 不管我有没有输密码和验证码都出现这提示相关的知识,希望对你有一定的参考价值。

参考技术A 转一个相关贴子:
进行icp备案——输入的验证码错误 [2006-5-10]
尝试了几个月进行icp备案,总是提示“输入的验证码错误”,结果却发现是自己在founder这边使用代理上网的缘故。晕,哭...
幸好在一篇blog中发现了这个问题的解决方法,在miibeian的faq中增加了这个问题的解决办法。
我以前看过faq,却没有这个问题,估计是后来添加的。
不管它是如何了,现在总算能够登录了,谢天谢地,否则miibeian还得被我“骂”呀!
52、登陆系统首页后,输入正确的用户名、密码和验证码,点击“登陆”按钮后,系统却提示“输入的验证码错误”,并且多次重复上述的操作仍然出现“输入的验证码错误”这个提示,为什么?
下面的三种情况可能会导致上述现象:
第一种情况:
当您登陆系统首页并输入正确的用户名、密码和验证码后,并没有及时点击“登陆”按钮,而是至少经过30分钟以后,才点击“登陆”按钮的,此时,验证码已经失效,这时,系统提示“输入的验证码错误”是正常的;您只需重新返回首页登陆系统即可。
第二种情况:
就像问题中所述,重复多次登陆系统,仍然提示“输入的验证码错误”,这时可能由于您在客户端禁止使用了cookie,可以按照下面方法检查是否禁用了cookie:
1)打开ie
2)在“工具”菜单上,单击“internet选项”,打开“internet选项”对话框
3)单击“隐私”选项卡,如果显示的隐私级别是“高”或者“阻止所有的cookie”,那么说明您已经在您的客户端禁止了cookie的使用
另外,在上面的“隐私”选项卡中点击“编辑”按钮,在出现的“每站点的隐私操作”对话框中,检查管理的站点中是否存在www.miibeian.gov.cn这个网址,如果存在,说明您访问我们系统时cookie也被禁用了。
解决:
将滑块下移到“中高”或者“中高”以下的隐私级别,就可以取
消禁用cookie,此时您就可以正常登陆系统了。
如果您在管理的站点中单独禁用了www.miibeian.gov.cn这个网址的cookie,只需选中这个站点,点击“删除”按钮,就可以取消禁用cookie了。
第三种情况:
如果您通过代理上网,就像问题中所述,重复多次登陆系统,仍然提示“输入的验证码错误”,您可以尝试直接使用下面的ip地址登陆备案系统:
1)211.94.161.1
2)211.94.161.2
3)211.94.161.3

编写一个系统(登录注册验证用户名密码和验证码覆盖存储用户)

编写一个系统

开始方法呈现开始菜单
登陆
注册
退出

编写账号类(存储正确的用户名和密码)
用户名
密码


要求:
选择登陆后输入用户名密码 并进行验证(编写验证方法),验证成功后进入主菜单界面

主菜单界面:
幸运抽奖(需要完成功能)
购物结算
商品陈列
真情回馈
注销用户

验证错误或者菜单选择错误可以给出提示并允许继续操作(比如用户名输错,重新输入,菜单输错也可以重新输入,主菜单输错应返回主菜单界面)

注册要求:输入注册的用户名和密码和验证码(4位数字验证码),如果账户存在则不能注册,如果不存在将注册的信息写入账号类(目前的实现将导致将原用户名和密码覆盖),注册成功退回开始菜单,可以使用注册的账户进行登录

注销用户:返回起始菜单,可以继续进行登录或注册的操作

账户类:用于存储密码,不是用集合存储的,所以每次注册只能进行覆盖

/**
 * 账户类
 * 用于存储系统的用户名和密码
 */
public class Account {
    //用户名和密码
    String userName = "admin";
    String password = "000";
}

购物系统:封装了系统的所有业务逻辑

/**
 * 购物系统
 * 封装了系统的所有业务逻辑
 */
public class ShoppingSystem {
    //键盘扫描器
    Scanner sc;
    //账户对象
    Account account;
    //随机数生成对象
    Random random;
    //是否中奖的标识
    boolean flag;

     /**
     * 对系统进行初始化
     * 初始化就是在系统运行前,将一些必要的数据进行初始
     */
    public void init(){
        sc = new Scanner(System.in);
        //初始化账户
        account = new Account();
        //初始化随机数生成对象
        random = new Random();
    }

     /**
     * 开启系统
     */
    public void start(){
        //呈现开始菜单
        System.out.println("1. 登录");
        System.out.println("2. 注册");
        System.out.println("3. 退出");
        System.out.println("请选择:");
        int chooice = sc.nextInt();
        //根据选项调用对应的功能
        switch(chooice){
            //1. 调用登录方法
            case 1:
                login();
                break;
            //2. 调用注册方法
            case 2:
                regist();
                break;
            case 3:
                System.out.println("退出了系统");
                //退出正在运行的程序
                //System.exit(0);
                break;
        }

    }

     /**
     * 登录方法
     */
    public void login(){
        //输入用户名和密码
        System.out.println("请输入用户名:");
        String userName = sc.next();
        System.out.println("请输入密码:");
        String password = sc.next();
        //验证账户:传入用户名和密码
        if(validate(userName, password)){
       //如果正确,进入主菜单 mainMenu(); }
else{ System.out.println("用户名或密码错误!"); login(); } /** * 验证用户名的方法(注册中也会用到用户名是否存在,所以单独抽离成一个方法) * @param userName * @return */ public boolean validateName(String userName){ if(userName.equals(account.userName)){ return true; } return false; } /** * 验证账户 * @param userName * @param password * @return */ public boolean validate(String userName, String password){
     //先调用验证用户名的方法
if(validateName(userName)){
       //如果用户名正确,进一步验证密码是否正确
if(password.equals(account.password)){ return true; } } return false; } /** * 注册方法 */ public void regist(){ //输入用户名和密码 System.out.println("请输入用户名:"); String userName = sc.next(); System.out.println("请输入密码:"); String password = sc.next(); //生成验证码 String code = createValidateCode(); System.out.println("请输入验证码:【"+code+"】"); String inputCode = sc.next(); //判断验证码 if(!inputCode.equals(code)){ System.out.println("验证码输入错误!"); //递归注册 regist(); return; } //对用户名和密码进行验证 if(validateName(userName)){ //如果验证失败,重新输入,递归注册方法 System.out.println("用户名已经被注册!"); regist(); } else{ //如果验证成功,将注册的用户名和密码写入账户对象 account.userName = userName; account.password = password; //进入起始菜单 start(); } /** * 生成验证码 * @return */ public String createValidateCode(){ String code = "";
     //循环生成4位验证码
for(int i = 1; i <= 4; i++){ int n = random.nextInt(10); code+=n; } return code; } /** * 主菜单展现方法 */ public void mainMenu(){ //展现主菜单选项 System.out.println("1. 幸运抽奖"); System.out.println("2. 购物结算"); System.out.println("3. 商品陈列"); System.out.println("4. 真情回馈"); System.out.println("5. 注销账户"); System.out.println("请选择:"); int chooice = sc.nextInt(); //用户输入选项 //对选项进行判断,根据选项调用对应的方法 switch(chooice){ //1. 调用幸运抽奖方法 case 1: luckyGuess(); break; case 2: case 3: case 4: System.out.println("功能正在完善中……"); break; //5. 调用注销方法 case 5: loginOff(); } } /** * 抽奖方法 */ public void luckyGuess(){
     //防止多次进行抽奖
if(flag){ System.out.println("您已抽过奖了!系统将直接跳转回主菜单"); mainMenu(); return; } //修改抽奖的标识 flag = true; //生成中奖的数 int target = random.nextInt(10); System.out.println("按任意键进行抽奖"); sc.next(); int luckNumber = random.nextInt(10); //判断是否中奖 if(luckNumber == target){ System.out.println("恭喜你中了大奖!奖励GeekHome课程一部!"); } else{ System.out.println("很遗憾,没有中奖,请再接再厉!"); } //无论是否中奖都应回到主菜单 mainMenu(); } /** * 注销用户方法 */ public void loginOff(){ //返回起始菜单 start(); } }

启动购物系统的APP

public class SystemApp {
    public static void main(String[] args) {
        //创建系统
        ShoppingSystem sys = new ShoppingSystem();
        //对系统进行初始化
        sys.init();
        //启动系统
        sys.start();
    }
} 

 

以上是关于验证码错误无法读取cookie 不管我有没有输密码和验证码都出现这提示的主要内容,如果未能解决你的问题,请参考以下文章

编写一个系统(登录注册验证用户名密码和验证码覆盖存储用户)

没有验证码,怎么回事???急急急

Session & Cookie登录案例 January 27,2020

验证码老是错误怎么办?明明输对了。

Nginx 下无法读取session 导致 thinkphp验证码错误

selenium:python如何绕过登录页面登录网页