当前位置: 首页 > news >正文

商城手机网站怎么做做网站如何防止被坑

商城手机网站怎么做,做网站如何防止被坑,网站建设需要写代码吗,南昌诚推网络技术有限公司一、为什么要学习系统的登录和注册 系统的登录和注册可能存在多种漏洞#xff0c;这些漏洞可能被恶意攻击者利用#xff0c;从而对用户的安全和隐私构成威胁。通过学习系统的登录和注册理解整个登录和注册的逻辑方便后续更好站在开发的角度思考问题发现漏洞。以下是一些常见…一、为什么要学习系统的登录和注册 系统的登录和注册可能存在多种漏洞这些漏洞可能被恶意攻击者利用从而对用户的安全和隐私构成威胁。通过学习系统的登录和注册理解整个登录和注册的逻辑方便后续更好站在开发的角度思考问题发现漏洞。以下是一些常见登录和注册可能出现的漏洞 逻辑漏洞 返回凭证泄露在找回密码等功能中验证码或其他敏感信息可能直接显示在URL、页面源码或网络请求中攻击者可以通过这些方式获取并利用这些信息。暴力破解如果登录系统没有有效的验证机制如验证码、错误次数限制等攻击者可以使用暴力破解方法尝试登录并通过不断的尝试猜解用户密码。验证码绕过某些系统中验证码的验证逻辑可能存在缺陷使得攻击者可以在不知道验证码的情况下绕过验证直接进行登录尝试。短信轰炸如果系统在发送短信验证码时未对发送数量进行限制攻击者可以利用这一漏洞对目标手机号进行短信轰炸导致用户骚扰和经济损失。Session覆盖攻击者可能通过伪造请求来覆盖用户Session从而获取其他用户的会话和权限。Cookie伪造通过修改Cookie中的参数攻击者可以尝试冒充其他用户登录系统。任意用户注册 未验证邮箱/手机号攻击者可以填写未验证的邮箱或手机号进行注册可能导致一个邮箱或手机号对应多个账户增加用户混淆和安全风险。批量注册缺乏有效的验证机制可能导致攻击者批量注册账号用于发送垃圾邮件、进行DOS攻击等恶意行为。个人信息虚假伪造在一些需要填写身份证信息的注册环节中攻击者可以伪造身份证信息进行注册绕过防沉迷系统等安全措施。前端验证审核绕过通过篡改服务器响应或利用验证码机制的缺陷攻击者可以绕过前端验证进行注册。用户名覆盖如果系统允许新用户注册已被其他用户使用的用户名可能导致老用户的用户名被覆盖从而泄露或篡改用户信息。密码重置漏洞 短信验证码爆破攻击者可以尝试爆破短信验证码从而重置其他用户的密码。验证码和手机号不匹配攻击者可以使用自己的手机号接收的验证码重置其他用户的密码这是因为系统没有严格验证手机号和验证码的匹配性。平行越权在某些系统中用户登录后可以更改自己的密码但如果没有严格验证用户身份攻击者可以通过修改请求参数来重置其他用户的密码。 二、使用表单的方式进行登录 1.前端页面代码 文件名称:login.html !DOCTYPE html html langzh headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title登录页面/titlescript typetext/javascript src./jquery-3.7.1.min.js/scriptstylebody {font-family: Arial, sans-serif;background-color: #f0f2f5;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.login-container {background-color: #fff;border-radius: 5px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);width: 400px;padding: 30px;}.login-container h1 {text-align: center;margin-bottom: 30px;}.form-group {margin-bottom: 15px;}.form-group label {display: block;margin-bottom: 5px;}.form-group input {width: 100%;padding: 10px;border: 1px solid #ccc;border-radius: 3px;}.submit-btn {width: 100%;padding: 10px;background-color: #007bff;color: #fff;border: none;border-radius: 3px;cursor: pointer;}/style /head bodydiv classlogin-containerh1登录/h1form actionlogin.php methodpost div classform-grouplabel forusername用户名/labelinput typetext idusername placeholder请输入用户名 nameusername/divdiv classform-grouplabel forpassword密码/labelinput typepassword idpassword placeholder请输入密码 namepassword/divinput typesubmit value登录 classsubmit-btn/form/div /body /html2.构造数据库 创建数据库learn create database learn; 创建user表 create table user(id int,name varchar(30),password varchar(30)); 构造数据 insert into user values(1,zs,123456); insert into user values(2,ls,123123); insert into user values(3,ww,456456); 3.后端代码 文件名称login.php ?php $username $_POST[username]; $password $_POST[password];$conn mysqli_connect(127.0.0.1,root,root,learn) or die(数据库连接失败); $sql select * from user where name$username and password$password; $result mysqli_query($conn,$sql); if (mysqli_num_rows($result) 1){echo login-sucess; }else{echo login-fail; }? 三、使用ajax的方式进行登录 1.前端代码 文件名称login_ajax.html !DOCTYPE html html langzh headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title登录页面/titlescript typetext/javascript src./jquery-3.7.1.min.js/scriptscriptfunction do_post(){var username $(#username).val();var password $(#password).val();var param username username password password;$.post(login_ajax.php,param,function(data){//window.alert(data);if (data login_success){window.alert(登录成功);}else{window.alert(登录失败);}});}/scriptstylebody {font-family: Arial, sans-serif;background-color: #f0f2f5;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.login-container {background-color: #fff;border-radius: 5px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);width: 400px;padding: 30px;}.login-container h1 {text-align: center;margin-bottom: 30px;}.form-group {margin-bottom: 15px;}.form-group label {display: block;margin-bottom: 5px;}.form-group input {width: 100%;padding: 10px;border: 1px solid #ccc;border-radius: 3px;}.submit-btn {width: 100%;padding: 10px;background-color: #007bff;color: #fff;border: none;border-radius: 3px;cursor: pointer;}/style /head bodydiv classlogin-containerh1登录/h1div classform-grouplabel forusername用户名/labelinput typetext idusername placeholder请输入用户名 nameusername/divdiv classform-grouplabel forpassword密码/labelinput typepassword idpassword placeholder请输入密码 namepassword/divinput typesubmit value登录 classsubmit-btn onclickdo_post()/div /body /html2.后端代码 文件名称login_ajax.php ?php $username $_POST[username]; $password $_POST[password];$conn mysqli_connect(127.0.0.1,root,root,learn) or die(数据库连接失败); $sql select * from user where name$username and password$password; $result mysqli_query($conn,$sql); if (mysqli_num_rows($result) 1){echo login_success; }else{echo login_fail; }? 四、使用表单的方式提交注册 构造数据库数据库名为learn有一个user表表里有name、password、user_head、create_time字段。 1.前端代码 文件名称reg.html !DOCTYPE html html langzh headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title注册/titlescript typetext/javascript src./jquery-3.7.1.min.js/scriptstylebody {font-family: Arial, sans-serif;background-color: #f0f2f5;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.login-container {background-color: #fff;border-radius: 5px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);width: 400px;padding: 30px;}.login-container h1 {text-align: center;margin-bottom: 30px;}.form-group {margin-bottom: 15px;}.form-group label {display: block;margin-bottom: 5px;}.form-group input {width: 100%;padding: 10px;border: 1px solid #ccc;border-radius: 3px;}.submit-btn {width: 100%;padding: 10px;background-color: #007bff;color: #fff;border: none;border-radius: 3px;cursor: pointer;}/style /head bodydiv classlogin-containerh1注册/h1form actionreg.php methodpost enctypemultipart/form-datadiv classform-grouplabel forusername用户名/labelinput typetext idusername placeholder请输入用户名 nameusername/divdiv classform-grouplabel forpassword密码/labelinput typepassword idpassword placeholder请输入密码 namepassword/divdiv classform-grouplabel foragain_password再次输入密码/labelinput typepassword idagain_password placeholder重新输入密码 nameagain_password/divdiv classform-grouplabel foruser_head /labelinput typefile nameuser_head /divinput typesubmit value提交 classsubmit-btn/form/div /body /html2.后端代码 文件名称reg.php ?php error_reporting(E_ALL ~E_NOTICE); //屏蔽notic报告 //设置北京时间作为时区 date_default_timezone_set(PRC); $username $_POST[username]; $password $_POST[password]; $again_password $_POST[again_password]; $tmp_path $_FILES[user_head][tmp_name]; //获取文件临时路径 $file_name $_FILES[user_head][name]; //获取文件的原始文件名#echo $tmp_path; #echo $file_name; if ($password $again_password){$conn mysqli_connect(127.0.0.1,root,root,learn) or die(数据库连接失败);$sql select * from user where name$username ;$result mysqli_query($conn,$sql);if (mysqli_num_rows($result) 1){echo user-esxit;}else{//echo end(explode(.,$file_name));$new_name date(Ymd_His.) . end(explode(.,$file_name));// echo $new_name;move_uploaded_file($tmp_path,./upload/.$new_name) or die(upload_fail);$now date(Y-m-d H:i:s);#echo $now;$sql insert into user (name,password,user_head,create_time) values($username,$password,$new_name,$now);#echo $sql;mysqli_query($conn,$sql) or die(reg_fail);echo reg_success;mysqli_close($conn);}}else{die(two secret is no same); }? 五、使用ajax的方式提交注册 1.前端代码 文件名称reg_ajax.html !DOCTYPE html html langzh headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title注册/titlescript typetext/javascript src./jquery-3.7.1.min.js/scriptstylebody {font-family: Arial, sans-serif;background-color: #f0f2f5;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.login-container {background-color: #fff;border-radius: 5px;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);width: 400px;padding: 30px;}.login-container h1 {text-align: center;margin-bottom: 30px;}.form-group {margin-bottom: 15px;}.form-group label {display: block;margin-bottom: 5px;}.form-group input {width: 100%;padding: 10px;border: 1px solid #ccc;border-radius: 3px;}.submit-btn {width: 100%;padding: 10px;background-color: #007bff;color: #fff;border: none;border-radius: 3px;cursor: pointer;}/stylescriptfunction do_reg(){var username $(#username).val();var password $(#password).val();var again_password $(#again_password).val();var data new FormData(); //带附件上传data.append(username, username);data.append(password, password);data.append(again_password, again_password);data.append(user_head, $(#user_head).prop(files)[0]);$.ajax({url:reg.php,type:POST,data: data,cache: false,processData: false,contentType: false,success : function(data){if (data reg-reg_success) {window.alert(注册成功);location.hreflogin_ajax.html;}else if (data user_esxit) {window.alert(用户名已经注册);}else {window.alert(data);// window.alert(注册失败);}}});}/script /head bodydiv classlogin-containerh1注册/h1div classform-grouplabel forusername用户名/labelinput typetext idusername placeholder请输入用户名 /divdiv classform-grouplabel forpassword密码/labelinput typepassword idpassword placeholder请输入密码 /divdiv classform-grouplabel foragain_password再次输入密码/labelinput typepassword idagain_password placeholder重新输入密码 /divdiv classform-grouplabel foruser_head /labelinput typefile iduser_head /divinput typesubmit value提交 classsubmit-btn onclickdo_reg()/div /body /html2.后端代码 文件名称reg_ajax.php ?php //设置北京时间作为时区 date_default_timezone_set(PRC); $username $_POST[username]; $password $_POST[password]; $again_password $_POST[again_password]; $tmp_path $_FILES[user_head][tmp_name]; //获取文件临时路径 $file_name $_FILES[user_head][name]; //获取文件的原始文件名error_reporting(E_ALL ~E_NOTICE); //屏蔽notic报告 #echo $file_name; if ($password $again_password){$conn mysqli_connect(127.0.0.1,root,root,learn) or die(数据库连接失败);$sql select * from user where name$username ;$result mysqli_query($conn,$sql);if (mysqli_num_rows($result) 1){echo user_esxit;}else{$file_extend explode(., $file_name);//echo end(explode(.,$file_name));$new_name date(Ymd_His.) . end($file_extend);move_uploaded_file($tmp_path,./upload/.$new_name) or die(upload_fail);$now date(Y-m-d H:i:s);#echo $now;$sql insert into user (name,password,user_head,create_time) values($username,$password,$new_name,$now);#echo $sql;mysqli_query($conn,$sql) or die(reg_fail);echo reg_success;mysqli_close($conn);}}else{die(two secret is no same); }? 每篇一言我要做一颗星星有棱有角还会发光。
http://www.sczhlp.com/news/168201/

相关文章:

  • 咸阳网站建设多少钱北京网站备案拍照地址鼓楼
  • 凡科建站网站网页qq家园
  • 网站跳转域名不变cms网站如何修改
  • 建设银行网站怎么登录密码wordpress怎么建设网站
  • 南通城市建设集团有限公司网站微建站官网
  • 聊城汽车网站建设wordpress 4.8.4
  • 网站域名备案注销牡丹江建设工程信息网站
  • wordpress 4.7 多站点河南平安建设网站
  • 一学一做短视频网站wordpress评论img标签
  • 公司建网站需要先注册域名徽省建设干部学校网站
  • wordpress调用数据库字段seo外链怎么发
  • 县直门户网站建设管理百度一下官网搜索引擎
  • 四川建设厅特种工报名网站楼梯平台设计
  • 如何在网站做qq群链接1688官网商家版
  • wordpress 多站点迁移南宁建站
  • 微信服务号可以做万网站么兰州搜索引擎推广
  • 自己做的网站能赚钱吗wordpress 免费吗
  • 个人网站可以做淘宝店铺名深圳市建设厅网站
  • 南安市城乡住房建设局网站做seo学网站
  • 大作设计网站官网下载网站建设公司画册
  • 济宁网站建设seo广西建设厅网站专家申请表
  • 东莞市专注网站建设百度客户端官网
  • 网站开发者取色工具简历上作品展示网站链接怎么做
  • 现在推广网站最好的方式珠海企业网站设计公司
  • 网站建设公司成就响应式网站开发方案
  • 注册网站流程和费用微信如何建设网站
  • 石家庄最好的网站建设公司排名网站建设确认报告
  • 可做易企秀的网站WordPress移动站
  • 商务网站建设学期总结html网页布局
  • 不同接入商备案网站数据服务网站开发