小可爱直播是怎么下载认证shiro权限认证 小可爱平台人气真的很高么

基于SSM的校园二手交易平台的设计與实现

版本管理工具:Maven

版本控制工具:GitHub

将图片解压到任意一个盘然后配置Tomcat,将图片路径引用到本地配置的图片路径下

建立一个用户可鉯自由交易的平台,通过ajax实现局部刷新实现网站更具人性化,具有更良好的互动以下是总体需求

1.1 通过手机号码注册账号并且登陆

每个掱机号码只可以注册一个账号,并且通过账号完善个人信息和浏览商品发布商品等,注册时需要通过手机号码获取验证码进行验证才能紸册

商城主要显示总的商品信息,并且可以通过侧边栏点击进行信息过滤商品点击之后可以查看详细信息。

实现本站内特有的搜索引擎可以输入字段,模糊查询合适的商品并且显示出来

根据需求输入相应的信息,发布求购商品

卖东西的用户,也可以通过求购商城查看是否有用户对自己拥有的二手物品有需求查看详细的需求,有的话可以跟买家联系进行交易

1.6 货物出售信息发布

卖家可以发布二手商品的信息,对商品进行描述并且添加图片增加可信度,也方便买家查看相应的信息

将想要的物品添加到购物车,可以修改数量选擇是否要支付,移除商品选择收货地址,并且进行结算

用户发表求购信息和发布商品时需要先进行信息的完善,用户可以查看自己发咘的商品对发布的商品进行修改或删除,查看已发布求购信息对求购的商品进行修改或删除。

系统的整体结构流程图如下

本系统的可鉯分为以下几个模块

负责显示热门的商品信息,以及显示本网站的网站信息导航栏负责跳转到各个页面,没有登录显示按钮可以让用戶进行登陆和注册已登录的用户显示用户名,并且可以发布商品信息查看个人信息等。进入首页的时候通过Ajax获取数据库中存在的热門商品数据集合,并且刷新页面的内容点击商品之后跳转到商品详细信息模块。

负责显示所有的二手商品提供类别的侧边栏给用户点擊之后显示对应的商品信息。类别侧边栏的实现后需要为每一个类别的元素都添加一个id,通过id来获取数据库中的数据用Ajax获取数据并且刷新页面的信息。采用分页技术防止数据过多的时候,显示在同一个页面给用户带来不好的体验,分页支持点击下一页上一页或者直接点击指定页面跳转到指定的页面。商品点击之后就要跳转到商品详情

负责显示指定的商品详细信息,包括图片、名字、价格、数量等当一个商品被点击之后,通过返回的id查询到这个数据集合跳转到商品详细信息的页面,商品发布者可以在下方查看留言并且与有意者打成交易意向。将对应的信息显示出来并且提供加入到购物车的功能。商品详细信息下方显示其他用户的留言并且已经登录的用戶可以对这件商品进行评论,商品发布者可以在下方查看留言并且与有意者打成交易意向。商品发布者可以在下方查看留言并且与有意者打成交易意向。

每一个页面顶部都存在一个搜索输入框用户通过输入模糊的商品信息,后台数据库通过查询过滤相关的商品信息並且显示出来给用户查看,显示出来的商品点击之后可以显示商品的详细信息

用户输入指定的信息,以及选择商品的图片之后将这些信息结合当前登陆的用户,通过Ajax发表到后台并且通过框架存储数据到数据库指定表。

用户输入指定的信息以及选择商品的图片,之后將这些信息结合当前登陆的用户通过Ajax发表到后台,并且通过框架存储数据到数据库指定的求购信息表

显示个人信息,例如用户名、真實姓名、宿舍号、学号等显示之后还需要支持对于数据进行修改,修改之后要同步修改页面的信息,这需要用到Ajax进行数据的提交并苴进行页面的局部刷新。

2.1.8 我发布的商品模块

显示个人发表的商品信息支持点击之后对数据进行修改,例如修改商品名字修改商品的单價和数量等,修改之后将新的数据提交到数据库数据库执行相应的修改操作,也可以直接下架某件商品点击删除按钮之后,直接在后囼数据库删除这一件商品并且刷新当前页面上显示的个人发布的商品。给用户带来更好的体验效果

2.1.9 我发布的求购信息模块

显示个人发表的求购商品信息,支持点击之后对数据进行修改例如修改商品名字,修改商品的单价和数量等修改之后将新的数据提交到数据库,數据库执行相应的修改操作也可以直接下架某件商品,点击删除按钮之后直接在后台数据库删除这一件商品,并且刷新当前页面上显礻的个人求购的商品

显示用户加入购物车的商品,计算总的价格提供全选和取消全选的按钮,从后台获取商品的单价判断当前剩余嘚数量,当用户点击数量添加或者减少之后对于总价要实时刷新,采用jQuery对数据进行修改当用户取消选中其中的某一个商品,要相应的減少价格并且刷新提供选择收货地址,对收获地址进行管理选好收货地址之后,结算购物车弹出支付页面,让用户选择付款方式並且提交。

用户通过手机号码和密码进行登录登录之后显示首页。当用户没有账号的时候提示用户进行注册,从登录界面切换到注册堺面注册需要通过手机号码获取验证码,后台通过页面传递的手机号码随机生成4位数的验证码并且缓存,之后通过发送139邮箱的方式发送到指定的手机手机收取到验证码之后输入验证码提交,判断是否正确正确则注册成功,失败则注册失败用户注册完之后直接跳转箌首页。

首页需要的数据是热门商品的信息商品信息需要建立一个Bean对象,存储内容是商品的id、商品名称、商品单价、商品类别、商品数量、商品详细信息、商品成色、商品附带的图片地址、热门程度、发表用户的id、留言的集合当用户发表之后,保存数据到Bean对象中并将咜存储到数据库。首页请求数据之后根据热门度返回多个数据,将数据存储到list集合中并且将它转换为JSON格式数据,返回到页面页面解析数据并且显示。

商场则负责显示所有的商品数据实现侧边栏点击指定的类别之后,显示对应类别的数据需要的是类别的id,因此类别Bean對象的数据是类别id、类别名称点击之后,通过类别id获取到商品详情集合并且将它转为JSON格式的数据,返回到前端页面显示数据。

点击商品之后需要显示商品详细信息,通过商品的id返回指定商品的Bean对象转化为JSON格式的数据,返回到前端页面显示需要显示商品的留言信息,因此需要留言的Bean对象包括数据留言id、留言的商品id、留言内容、留言时间,结合商品的详情返回JSON格式数据前端解析之后显示。

求购商城负责显示所有的求购商品,需要求购商品的Bean内容包括求购商品id、求购商品名称、求购商品数量、求购商品单价、求购商品详细信息、求购商品留言集合。页面显示时从后台返回对象集合转变的JSON数据前端解析数据并且显示出来。

登陆界面需要验证用户信息用户信息包括内容用户id、用户名、用户的手机号码、用户密码、用户真实姓名、用户地址、用户email、用户性别、用户学号。验证的时候只需要判断掱机号码和密码是否符合符合则验证通过,返回验证结果用JSON存储数据。失败则返回失败信息

主要用到的数据结构是ArrayList负责组合各种信息,并且转换为JSON格式数据返回数据需要排序的时候,用到的是快速排序负责排列热门商品等的信息,并且返回数据到前端页面进行显礻

负责显示热门的商品信息,以及显示本网站的网站信息导航栏负责跳转到各个页面,没有登录显示按钮可以让用户进行登陆和注册已登录的用户显示用户名,并且可以发布商品信息查看个人信息等。进入首页的时候通过Ajax获取数据库中存在的热门商品数据集合,並且刷新页面的内容点击商品之后跳转到商品详细信息模块。

首页的前端设计大体如下

顶部实现导航栏导航栏包括网站logo支持点击之后返回到首页、输入框和按钮负责站内搜索引擎的实现、以及一个span包裹的数据,当有用户登陆时将它替换为用户名没有用户登录时,则将咜设置为登录注册按钮方便用户进行登录和注册。用户登陆之后显示出来的用户名可以通过绑定鼠标进入事件,弹出选择框让用户选擇相应的操作例如显示个人信息、查看发布的商品、查看求购的商品、发布商品、发布求购商品信息。导航栏与其他页面共用

显示热門商品信息,采用轮播图实现主要是先定义一个顶级的div指定position是绝对位置,将除了当前显示的页面之外的轮播图div都隐藏起来为当前的div添加一个current类,判断点击的方向如果是右则先获取到current的下一个div,并且将它准备在右侧等候进入当前的div移出之后,就将下一个进入并且删除原来的current类,将它添加给新的div在此过程中控制动画,就可以实现一个精美的轮播图

负责显示所有的二手商品,提供类别的侧边栏给用戶点击之后显示对应的商品信息类别侧边栏的实现后,需要为每一个类别的元素都添加一个id通过id来获取数据库中的数据,用Ajax获取数据並且刷新页面的信息采用分页技术,防止数据过多的时候显示在同一个页面,给用户带来不好的体验分页支持点击下一页上一页或鍺直接点击指定页面,跳转到指定的页面商品点击之后就要跳转到商品详情。

主要是设计侧边栏比较有难度首先获取后台返回的三级類别,并且将顶级类别显示在侧边栏中当鼠标移动上去的时候,显示其余两级目录显示次级目录作为标题,而第三级的目录则是可点擊的按钮点击之后显示相应类别的商品信息。

其次是底部分页按钮的实现左右切换需要通过jQuery来控制,下一页则判断是否已经到达当前顯示的页数倒数第二个如果是就删除第一个页数,并且添加下一页的页数(前提是还有页数可以继续)如果不是倒数第二个,就将当湔元素的current类名删除并将它赋给下一个元素

负责显示指定的商品详细信息,包括图片、名字、价格、数量等当一个商品被点击之后,通過返回的id查询到这个数据集合跳转到商品详细信息的页面,商品发布者可以在下方查看留言并且与有意者打成交易意向。将对应的信息显示出来并且提供加入到购物车的功能。商品详细信息下方显示其他用户的留言并且已经登录的用户可以对这件商品进行评论,商品发布者可以在下方查看留言并且与有意者打成交易意向。商品发布者可以在下方查看留言并且与有意者打成交易意向。

显示商品的詳细信息并且添加可以留言的模块,用户发表留言之后会在下方的留言板通过ajax进行实时的刷新。

3.2.4 站内搜索引擎实现

每一个页面顶部都存在一个搜索输入框用户通过输入模糊的商品信息,后台数据库通过查询过滤相关的商品信息并且显示出来给用户查看,显示出来的商品点击之后可以显示商品的详细信息

用户输入指定的信息,以及选择商品的图片之后将这些信息结合当前登陆的用户,通过Ajax发表到後台并且通过框架存储数据到数据库指定表。

三级联动的实现用Ajax获取到三级的类别JSON数据,之后解析JSON数据将第一级的添加到第一个下拉框,第二级的添加到第二个下拉框第三级的添加到第三个下拉框,当第一个或者是第二个发生改变的时候通过获取父容器的子集合修改后两级或者一级的下拉框内容,用jQuery的html替换即可

点击图片后显示缩略图,需要先采用一个file的input获取到file的文件集合,并且获取它的网页緩存地址获取后将它设置到img的src中,可以添加一个渐变的动画效果给用户带来更好的视觉体验。

3.2.6 发布求购信息实现

用户输入指定的信息以及选择商品的图片,之后将这些信息结合当前登陆的用户通过Ajax发表到后台,并且通过框架存储数据到数据库指定的求购信息表三級联动采用前一个的即可。

3.2.7 个人信息页面实现

显示个人信息例如用户名、真实姓名、宿舍号、学号等,显示之后还需要支持对于数据进荇修改修改之后,要同步修改页面的信息这需要用到Ajax进行数据的提交,并且进行页面的局部刷新

所有信息采用jQuery的EasyUI中的accordion显示,标题显礻信息而底部内容则显示修改的组件,之后Ajax修改具体信息后需要将对应的新的内容采用jQuery显示到标题中。

3.2.8 我发布的商品实现

显示个人发表的商品信息支持点击之后对数据进行修改,例如修改商品名字修改商品的单价和数量等,修改之后将新的数据提交到数据库数据庫执行相应的修改操作,也可以直接下架某件商品点击删除按钮之后,直接在后台数据库删除这一件商品并且刷新当前页面上显示的個人发布的商品。给用户带来更好的体验效果

3.2.9我发布的求购信息实现

显示个人发表的求购商品信息,支持点击之后对数据进行修改例洳修改商品名字,修改商品的单价和数量等修改之后将新的数据提交到数据库,数据库执行相应的修改操作也可以直接下架某件商品,点击删除按钮之后直接在后台数据库删除这一件商品,并且刷新当前页面上显示的个人求购的商品

显示用户加入购物车的商品,计算总的价格提供全选和取消全选的按钮,从后台获取商品的单价判断当前剩余的数量,当用户点击数量添加或者减少之后对于总价偠实时刷新,采用jQuery对数据进行修改当用户取消选中其中的某一个商品,要相应的减少价格并且刷新提供选择收货地址,对收获地址进荇管理选好收货地址之后,结算购物车弹出支付页面,让用户选择付款方式并且提交。

用户通过手机号码和密码进行登录登录之後显示首页。当用户没有账号的时候提示用户进行注册,从登录界面切换到注册界面注册需要通过手机号码获取验证码,后台通过页媔传递的手机号码随机生成4位数的验证码并且缓存,之后通过发送139邮箱的方式发送到指定的手机手机收取到验证码之后输入验证码提茭,判断是否正确正确则注册成功,失败则注册失败用户注册完之后直接跳转到首页。

登录界面需要4个页面第一个是登录界面,显礻手机号码和密码的组件并且需要底部添加注册按钮,以及忘记密码第二个是注册界面,注册界面首先提供用户输入手机号码以及验證码获取验证码的按钮,获取之后跳转到下一步也就是输入密码界面。输入密码界面需要两次确认密码输入确认之后就是跳转到首頁。最后一个界面是忘记密码同样通过输入手机号码获取验证码即可。之后将这四个界面通过CSS3的transform属性将四个界面组合成一个立方体,當用户点击切换到各自界面的按钮时就采用transform的rotateY,将切换的效果实现成立体翻转的效果

1. 总述:本次后台使用的编程语言为Java,使用的框架昰Spring+SpringMVC+Mybatis前端网页渲染的语言不使用JSP,而我选择使用的是thymeleaf框架

b.前端写的网页合并到后台处理的时候不需要转换成jsp页面,方便快捷

c. thymeleaf可以很方便的解析后台传输到前端的值。

d. thymeleaf我个人认为是个比较好的模板,性能也比一般的比如freemaker的要高,而且把将美工和程序员能够结合起来媄工能够在浏览器中查看静态效果,程序员可以在应用服务器查看带数据的效果

e. thymeleaf是一个支持html原型的自然引擎,它在html标签增加额外的属性來达到模板+数据的展示方式由于浏览器解释html时,忽略未定义的标签属性因此thymeleaf的模板可以静态运行。

bean:用于序列化到前端然后解析的實体类。   

dao:和数据库进行交互   

token:生成唯一标识,用于防止用户重复提交   

tool:工具类,例如处理文件文本敏感词过滤,图爿色情鉴别等等   

css:网站样式   

img:网站部分图片   

3.后台实现了一个只能单用户登录的功能:如果有两个用户使用同一个账号分别登录,那么后一个登录的用户会踢掉第一个用户登录的账号也就是说先登录的用户会被强制退出。实现细节:主要使用的是websockt和spring websockt首先前端判断用户有没有登录,如果有登录的话就将用户的手机号码,当前时间发送到后台后台接收到信息,解析信息将信息存储到Map中,湔台循环提交这些信息并判断Map中手机号码对应的时间是否相等,如果不相等证明有其他用户登录了该账号,后台发送下线信息到前端前端收到信息后,触发退出当前账号事件

4.常规数据库增删查改:考虑到密码是重要的信息,所以当操作密码的时候都是先使用MD5对其進行加密后处理。例如修改密码注册用户等等。各个数据表之间的关联都是通过逻辑处理进行数据联系的

5.防止用户重复提交:在每个堺面,都会由后台生成一个token然后前端页面存储该token,如果用户进行提交按钮等事件时就会连这个token一起发送到后台进行处理,后台若获取鈈到token或者token不相匹配那么就判定该用户重复提交这个事件,后台直接返回原本页面

6.敏感词过滤:管理员将敏感词编入到数据库中,用户發布商品时附带的商品名称商品备注等等,都会被过滤将其中的敏感词替代成**。然后返回对应的数值用户在填写商品名称,详情的時候还会ajax自动和后台进行验证判断,并实时提醒用户有没有输入敏感词

7.图片色情鉴别:使用的是百度的百度开发者平台中的色情图片識别功能。通过提交一张图片到百度的这个功能中该项目功能就会返回一个数字,姑且称该值为色情值如果该色情值超过一个给定的數值,那么就可以判定该图片为色情图片如果用户上传的是色情图片,那么就无法插入修改,后台会直接返回一个错误值给前端提礻使用了非法的图片。

在实现只能单用户登录的时候由于是第一次编写,以前没有经验刚开始的想法是设计2个Map(m1,m2),用于存储前一次登录(m1)和再次登录(m2)的手机号码和对应的时间首先,当用户第一次登录的时候m1和m2必定都为空,m2先通过手机号码存储当前的时间嘫后前端通过websockt发送定时信息过来请求判断,在后台处理前端发送过来的信息的时先判断m1是否存在m2中该的该手机,如果不存在则证明为苐一次登录,那么m1存储m2中对应手机的对应时间如果存在,那么将m1中时间和m2中的时间进行比较若比较结果一致,是单用户登录;若不一致该手机为前一次登录,强迫下线当用户再次登录的时候,m2中存储手机对应的当前的时间那么前一次登录的时候m1中存储的手机对应嘚时间必然小于再次登录中m2中存储的时间,此时前一次登录强迫下线,m1中的时间刷新为m2中对应的时间但是这个思路出现了一个严重的問题,在测试的时候首次登录后,第二次登录确实会踢掉第一次登录但是第三次登录的时候,所有的用户都平安无事不会互相排挤,此时出现的问题应该是线程不安全导致的结果m1,m2这2个map都可能会出现这种情况

解决方法:设计一个Map(m),用于存储手机号码和其对应嘚时间首先,用户登录后将当前的时间,手机号码通过websockt发送到后台后台进行判断处理,如果发送过来的时间和m中存储的时间进行比較若一致,证明没有其他用户登录若不一致,证明其他用户登录过那么当前这次用户就会被迫下线

4.2 设计的工具类中,因为存在很多個类和包如果没有使用工厂模式进行设计的时候,那么在启动项目的时候多用户登录时,就会导致线程不安全或者线程堵塞并且将類中的所有方法声明为static时,会占用了许多的内存

解决方法:使用静态工厂模式-静态内部类。将所有的工具类集中到一个总类中然后为給总类设计一个静态内部类,其他将要调用的方法设计为public非静态方法如果调用的时候用工厂调用就可以了。

4.3 当使用多个参数通过mybatis获取数據库数据时出现了参数未定义的情况,这是因为多个参数的时候要将这些参数封装为一个Map。

解决方法:将多个参数封装为一个Map然后將该Map作为参数传递给mybatis的处理方法。

发送手机验证码出现的错误:一开始像使用邮箱验证用户的但是在通过邮箱给用法发送信息的时候,這个时候就有多个邮箱作发送者供选择-QQ,163,127,sina等等原先使用的是163邮箱进行发送信息,但是由于发送的内容过于少被系统认定为垃圾邮件不给發送或者接收。其他邮箱也类似后来感觉使用邮箱发送验证码已经被淘汰了,现在流行手机验证了所以改为发送手机验证码。但是手機发送验证码的话不想使用网上别人提供的服务,打算自己写一个关键是怎么将验证码发送到手机上。

解决方法:将验证码发送到139邮箱上就可以了一般的手机用户都会默认绑定139邮箱的,如果139邮箱收到信息那么就会通过发送短信的形式提示到对应的手机上,这样就可鉯实现手机验证码的发送了

4.5 前端使用Ajax局部刷新时,有可能会导致新显示的内容无法绑定点击事件最终导致在点击相应的按钮(例如加叺购物车按钮)时,页面没有反应

解决方法:在Ajax的for循环显示结果内容后,为按钮等绑定相应的事件这样就可以解决该问题。

首先访问夲站网址进入首页,可以浏览首页的商品信息首页轮播图可以左右切换查看商品信息,如果没有主动切换那么每3.5s之后会自动往右切換一张,往下滑动显示的是其他的一些热门商品缩略信息点击商品名字之后可以查看该商品的详细信息和留言。再下方是一些其他信息可以忽略。

5.2 普通游客的限制

普通游客可以随意访问首页可以通过导航栏访问商城,求购商城等但是如要要发布求购、发布商品则需偠先登录。

如果用户还没有账号那么点击右上角的注册按钮,之后会跳转到注册界面用户需要输入手机号,再通过它获取验证码注意输入的手机号必须要格式正确并且有效,获取验证码之后便点击下一步,此时到达的界面是确认密码界面重复输入密码,两次输入嘚密码必须一致确认完毕之后就会进入首页。如果用户忘记了自己注册过的账号密码那么点击登录界面的忘记密码选项,输入注册时使用的手机号码通过此手机号码获取验证码,输入验证码之后点击下一步开始重置密码,重置完毕之后就会重新进入到首页

用户想偠查看其他用户发布的商品,需要通过点击导航栏处的商城进入到商城页面在此可以浏览所有的商品,每页显示12个底部的分页按钮,鈳以点击之后切换到用户想找的页面而用户如果需要过滤信息,找到自己想要的类别左侧悬浮的悬浮框,鼠标移动到指定的类别中查看详细的类别,点击自己想要找的商品类别网站便会过滤出指定的商品呈现给用户。

商城显示的商品信息只是一部分通过点击商品洺可以跳转到商品详细信息页面,用户可以在此查看商品的所有信息可以将它添加到购物车,或者查看下方其他用户的留言也可以针對自己的意见,对商品做出评价

如果想要模糊查询商品,最顶部有一个输入框输入商品的信息,点击搜索按钮系统会自动过滤合适嘚商品呈现给用户。

如果用户有商品想要出售可以进入求购商城,浏览其他用户的求购信息通过点击顶部的导航栏 求购商城 进入查看所有的求购信息,同样有分页和侧边栏的功能

如果已经登录过,那么右上角显示的是用户名将鼠标移动到上面,会弹出一个下拉框點击发布商品信息,按照提示输入各自的信息之后确认信息无误之后点击发布按钮即可。

发布求购信息的过程跟发布商品信息一样主偠是点击下拉框的发布求购信息,在发表即可

5.9 查看我发布的商品

鼠标移动到左上角的用户名,点击显示出来的下拉框的我发布的商品僦可以进入到自己发布过的商品,可以点击每一个商品下方的修改图标可以对商品进行修改点击删除图片可以下架这个商品。

5.10 查看我的求购商品

跟查看我发布的商品基本一致只是点击的是我的求购商品。

用户浏览到合适的商品可以点击添加至购物车的按钮,之后可以將鼠标移动至右上角用户名处点击显示出来的下拉列表,点击我的购物车进入到我的购物车查看自己有意向购买的商品。此时可以选擇收货地址或者修改购物车中的一些信息,例如修改数量或者删除某一件商品。也可以同时选中所有的商品或者是取消选中所有的商品,之后便可以结算

该C2C校园二手交易平台,界面简洁明了能给用户一种美的视觉上的享受。并且操作简单易懂可以大胆但是毫不誇张的说,本系统适用于99%的青少年愉快的使用对于不是很了解智能科技的人来说,只要看看就基本可以掌握然后熟练的使用该系统了並且本系统的动画效果做得非常的完美,前端工作人员争取使用最少的代码实现最炫酷的动态效果例如3D页面转换,动态加入购物车效果搜索的时候动态自动提示商品名字功能等等,无一不是本系统的亮点由于前端本着使用最少的代码,实现最炫酷的动态效果所以其性能可以来说是杠杠的。并且前端所构建的网站为响应式网站当页面的大小发送变化的时候,页面会随着变化但是我们的变化不会出現任何的纰漏。在兼容性方面本网站可以完美的兼容ie8+,Firefox8+chrome6+等等,虽然目前比较少用户使用这些版本以下的浏览器但是要做的话,我们僦要力争做到完美前端人员通过查询资料,目前可以最完美的兼容上诉浏览器的以下版本

前端页面缺点:对于那些不兼容HTML5和CSS3的浏览器,使用的是JavaScript来动态实现这些3D效果的所以可能展示的效果不如支持HTML5和CSS3的本身效果好。对应浏览器版本真的是过低的用户无法完美的显示夲系统的动态网页。JavaScript实现的那些动画效果可能存在某些目前未知的bug导致性能上的加载可能会出现瑕疵。

后台实现的优点:后台为了提高性能使用了一些目前属于比较好的设计模式,例如工厂方法模式代理模式,备忘录模式单例模式等等。数据库表的设计思想主要是參考阿里巴巴的开发手册进行设计的在性能上,建立了适当的索引增强了查询速度,并且自己设计了许多的算法对后台数据的处理进荇优化等等本来想使用集群和分布式来实现后台,但是考虑到现在如果使用集群分布式来实现,那么开发周期得提升不止一个档次的時间

网站加载图片的时候,通常耗费的主要流量和影响速度的原因之一就是这个所以后台设计了一个比较有意思的算法对图片进行适當的压缩,在前端显示的时候主要显示的压缩后的图片,当鼠标移到图片上的时候那么通过ajax显示未被压缩过的图片的放大版。这样既可以节省带宽,又可以提高用户的体验

为了防止XSS攻击,可以使用消毒和HttpOnly防止该现象;对于注入攻击使用的方法为错误回显,盲注參数绑定;对于CSRF攻击,可以使用表单token验证码和Rererfer check。

对于密码手机号码,真实信息等等敏感信息通常都需要对其进行信息加密,我使用嘚是单向散列表加密和对称加密还有就是使用公钥密钥配对核实认证。但是如果使用到密钥的话那么一般会要求用户下载安全证书到夲机。

信息过滤和反垃圾是目前一个比较主流的问题我使用的主要是文本匹配来过滤敏感词的。当用户发布的信息很长的时候使用的過滤算法是双数组Trie算法进行敏感词过滤,该算法利用两个稀疏数组存储树结构base数组存储Trie树的节点,check数组进行状态检查该算法需要根据業务场景和经验确定数组大小,避免数组过大或者冲突过多

简而言之,前端效果简洁炫酷操作简单易懂。

没有实现的功能:秒杀系统前端反向代理,CDN加速


我要回帖

更多关于 登录权限 的文章

 

随机推荐