防止别人恶意刷新短信验证码,大家有没有好的方法

话说天下之2012 发布于 2015/11/03 16:10
阅读 12K+
收藏 2
昨天网站,调用短信接口的验证码被别人恶意刷了,幸亏短信商及时提醒了我们,说真的,用了好几年了一直很稳定,没有出现这种情况,大家有没有更好的方法解决一下呢。我们咨询过短信商这一块,它们说防止恶意获取可以加一下图片验证码,限制IP,限制手机号提交次数等,但大家还有没有更好一些的方法呢。短信发送验证码如下:
 public string SendNoteCode()
    {
    //官方网站:http://www.56dxw.com
    string cid = "******";
    string username = "******";
    string userpwd = "******";
    string _sms = "******";
    string msg = "欢迎光临本网站,您的验证码是:" + Number(6, false) + "【化妆网】";
    msg = HttpUtility.UrlEncode(msg, System.Text.Encoding.GetEncoding("gbk"));
    string tel = txt_tel.Text.ToString().Trim();
    string url = "http://www.56dxw.com/sms/HttpInterface.aspx?comid=" + cid + "&username=" + username + "&userpwd=" + userpwd + "&handtel=" + tel + "&sendcontent=" + msg + "&sendtime=&smsnumber=" + _sms + "";
    string r = GetSend(url, "gbk");
    return r;
    }

    #endregion


 #region 生成随机数

        /// <summary>
        /// 生成随机数字
        /// </summary>
        /// <param name="length">生成长度</param>
        /// <returns></returns>
        public static string Number(int Length)
        {
            return Number(Length, false);
        }

        /// <summary>
        /// 生成随机数字
        /// </summary>
        /// <param name="Length">生成长度</param>
        /// <param name="Sleep">是否要在生成前将当前线程阻止以避免重复</param>
        /// <returns></returns>
        public static string Number(int Length, bool Sleep)
        {
            if (Sleep)
                System.Threading.Thread.Sleep(3);
            string result = "";
            System.Random random = new Random();
            for (int i = 0; i < Length; i++)
            {
                result += random.Next(10).ToString();
            }
            return result;
        }

    #endregion


加载中
4
南湖船老大
南湖船老大

简直能被你们气哭了。。。哪有发短信不加验证码的,别人不说自己也该考虑到啊。。

加验证码是最有效的。

一片无助的云
加上图形验证码就解决了,网上有免费的,https://luosimao.com/service/captcha
南湖船老大
南湖船老大
回复 @OSC首席键客 : 我遇到的是现在的新短信接口,只要是在网页端使用的,接口商都是强制必须有验证码,不然他不给你开通。。可能有些接口商不规范
OSC688888
OSC688888
回复 @OSC首席键客 : 一个字:草!
OSC688888
OSC688888
回复 @南湖船老大 : 还给自己找了几件事去做!
OSC688888
OSC688888
回复 @南湖船老大 : 我们的网站发手机验证码没有加图片验证码。 我提了一下!算了,不说了,产品经理那里就没打算加!还给我我几个方案,限制单个手机每天发送量,限制IP,限制每天的发送总量!不知道他哪里搜索来的。产品经理不会写代码!
下一页
1
chendc
chendc
上验证码+IP限制
0
lqianger
lqianger
加图片验证码就行了  其他的没办法防
0
墨夜寒
墨夜寒
上验证码就OK了
0
灵魂架构师
灵魂架构师
验证与否无所谓,按IP限制一下就OK了
0
xinson
xinson
加个表记录发送次数就行,每个手机每天不能超过5次。
0
百世经纶之傲笑红尘
百世经纶之傲笑红尘
有些验证码其实是JavaScript生成,起部分拦截作用
0
南湖船老大
南湖船老大

引用来自“xinson”的评论

加个表记录发送次数就行,每个手机每天不能超过5次。

没用,因为手机号我能伪造啊,批量填写啊。当然,可以作为一个辅助手段。

只有验证码,才能解决这个问题。

0
金三胖
金三胖
上验证码吧
0
leo108
leo108

一个IP一天只能发X条

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部