界面设计

界面设计用什么软件

  要看你是从事网站界面设计还是软件界面设计。网站界面设计,必须了解一些简单的html、div、css样式表等基本语言;软件界面设计,就要了解其产品所用的是什么工具做的,软件和硬件的兼容性问题(性能问题)。对于设计软件,常用的有photoshop、网页3剑客、UIDesigner等。      但是吧,这其实仅仅是皮毛,真正要设计出来东西,我觉得还是找专业人吧。例如北京的智加设计,我们去年和他们合作过。智加真的挺不错,团队大概在百人左右,他们会针对每个品牌的实际情况整合出一套量身定做的方案,你可以去他们网站看看,还有很多案例。

人机界面用什么软件设计?

不同的人机有不同的程式软件,主要以生产厂家为区别,不同厂家生产的人机有各自的设计软件件,如三菱的就用三菱的软件,富士的就用富士的软件1、人机界面介绍 人机界面(Human Machine Interaction,简称HMI),又称用户界面或使用者界面,是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面2、人机界面的设计原则 1)以用户为中心的基本设计原则 在系统的设计过程中,设计人员要抓住用户的特征,发现用户的需求。在系统整个开发过程中要不断征求用户的意见,向用户咨询。系统的 设计决策要结合用户的工作和应用环境,必须理解用户对系统的要求。最好的方法就是让真实的用户参与开发,这样开发人员就能正确地了解 用户的需求和目标,系统就会更加成功。 2)顺序原则 即按照处理事件顺序、访问查看顺序(如由整体到单项,由大到小,由上层到下层等)与控制工艺流程等设计监控管理和人机对话主界面及 其二级界面。 3)功能原则 即按照对象应用环境及场合具体使用功能要求,各种子系统控制类型、不同管理对象的同一界面并行处理要求和多项对话交互的同时性要求 等,设计分功能区分多级菜单、分层提示信息和多项对话栏并举的窗口等的人机交互界面,从而使用户易于分辨和掌握交互界面的使用规律和 特点,提高其友好性和易操作性。 4)一致性原则 包括色彩的一致,操作区域一致,文字的一致。即一方面界面颜色、形状、字体与国家、国际或行业通用标准相一致。另一方面界面颜色、 形状、字体自成一体,不同设备及其相同设计状态的颜色应保持一致。界面细节美工设计的一致性使运行人员看界面时感到舒适,从而不分散 他的注意力。对于新运行人员,或紧急情况下处理问题的运行人员来说,一致性还能减少他们的操作失误。 5)频率原则 即按照管理对象的对话交互频率高低设计人机界面的层次顺序和对话窗口莱单的显示位置等,提高监控和访问对话频率。 6)重要性原则 即按照管理对象在控制系统中的重要性和全局性水平,设计人机界面的主次菜单和对话窗口的位置和突显性,从而有助于管理人员把握好控 制系统的主次,实施好控制决策的顺序,实现最优调度和管理。 7)面向对象原则 即按照操作人员的身份特征和工作性质,设计与之相适应和友好的人机界面。根据其工作需要,宜以弹出式窗口显示提示、引导和帮助信息 ,从而提高用户的交互水平和效率。

用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注

所有功能均已实现,如有不满意的地方我再修改import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;public class Login extends JPanel{ //声明各个控件 private JLabel user_name_label = null; private JLabel password_label = null; private JTextField user_name_text = null; private JTextField password_text = null; private JButton login = null; private JButton regist = null; //声明文件用以保存注册信息 private final String file_name = "注册.txt"; public Login() { //获得各个控件并且为之设置显示文本 user_name_label = new JLabel(); user_name_label.setText("姓名:"); password_label = new JLabel(); password_label.setText("密码:"); user_name_text = new JTextField(); password_text = new JTextField(); login = new JButton(); login.setText("登录"); regist = new JButton(); regist.setText("注册"); //设置面板的布局为网格布局 setLayout(new GridLayout(3,2)); //将控件添加到面板里 add(user_name_label); add(user_name_text); add(password_label); add(password_text); add(login); add(regist); //为两个按钮添加监听 regist.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String name = user_name_text.getText().toString(); String password = password_text.getText().toString(); String str = null; String[] result = null; try { if((name.length() == 0)&&(password.length() == 0)) { int a = JOptionPane.showConfirmDialog(null,"请输入用户名和密码","确认对话框",JOptionPane.YES_NO_OPTION); throw new Exception(""); } else if(name.length() == 0) { int a = JOptionPane.showConfirmDialog(null,"请输入用户名","确认对话框",JOptionPane.YES_NO_OPTION); } else if(password.length() == 0) { int a = JOptionPane.showConfirmDialog(null,"请输入密码","确认对话框",JOptionPane.YES_NO_OPTION); } InputStream in = new FileInputStream(file_name); InputStreamReader reader = new InputStreamReader(in); BufferedReader buffered_reader = new BufferedReader(reader); while((str = buffered_reader.readLine()) != null) { result = str.split(" "); if(result[0].equals(name)) { int a = JOptionPane.showConfirmDialog(null,"该用户已存在,请重新注册","确认对话框",JOptionPane.YES_NO_OPTION); throw new Exception(""); } } OutputStream out = new FileOutputStream(file_name,true); OutputStreamWriter writer = new OutputStreamWriter(out); BufferedWriter buffered_writer = new BufferedWriter(writer); buffered_writer.write(name+" "+password); buffered_writer.newLine(); buffered_writer.close(); int a = JOptionPane.showConfirmDialog(null,"恭喜你,注册成功!","确认对话框",JOptionPane.YES_NO_OPTION); } catch(Exception e1) { } } }); login.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String name = user_name_text.getText().toString(); String password = password_text.getText().toString(); String result = null; try { if((name.length() == 0)&&(password.length() == 0)) { int a = JOptionPane.showConfirmDialog(null,"请输入用户名和密码","确认对话框",JOptionPane.YES_NO_OPTION); throw new Exception(""); } else if(name.length() == 0) { int a = JOptionPane.showConfirmDialog(null,"请输入用户名","确认对话框",JOptionPane.YES_NO_OPTION); } else if(password.length() == 0) { int a = JOptionPane.showConfirmDialog(null,"请输入密码","确认对话框",JOptionPane.YES_NO_OPTION); } InputStream in = new FileInputStream(file_name); InputStreamReader reader = new InputStreamReader(in); BufferedReader buffered_reader = new BufferedReader(reader); while((result = buffered_reader.readLine()) != null) { if(result.equals(name+" "+password)) { int a = JOptionPane.showConfirmDialog(null,"登陆成功","确认对话框",JOptionPane.YES_NO_OPTION); break; } } if(!(result.equals(name+" "+password))) { int a = JOptionPane.showConfirmDialog(null,"用户名或密码错误","确认对话框",JOptionPane.YES_NO_OPTION); } } catch(Exception e1) { //e1.printStackTrace(); } } }); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(500,500); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.add(new Login(),BorderLayout.NORTH); }}

手机网页设计多大好?

wap页面设计一般都是宽度自适应的,最窄以兼容320px为标准,最宽1280px为标准,一般的智能手机宽度都是320,480,640这些,其中iPhone就不用说了吧,必须是480px,其他三星啊,htc啊什么的,各类分辨率都有,基本不会比480低,但是之前刚开始的一些智能手机大部分都是320,所有要兼容320哦~~~

UI设计理念:优秀的界面设计是如何诞生的

一个好的交互设计对产品的成功起着很关键的作用。UI所做的就是用户最先接触到的东西,也是一般性的用户唯一接触到的东西。用户对于界面视觉效果和软件操作方式的易用性的关心,要远远大于他对底层到底用什么样的代码去实现的关心。如果说程序是一个人的肌肉和骨骼,那么UI设计就是人的外貌和品格!都是一个成功软件产品必不可少的重要组成部分!对我而言程序懂得不多所以只是从UI设计与软件产品整体的关系和如何才能使软件产品得到最佳的UI设计角度来谈。现在我们的软件产品存在的一些问题有技术方面的问题,但是的问题来源于各个部门、各个项目小组的之间的配合。我们现有的开发流程一般都是由市场部门提出客户需求,产品设计人员提出产品设计报告,开发部门设计开发计划,由各个小组分别开发一个模块,最后整合成为一个完整的软件产品。在这些流程之间UI设计应该参与那一个部分,每一个部分应该做到什么地步才可以使产品得到最好的UI设计效果呢?下面我们会在每一个部分具体分析。首先分析一下现在的问题所在,在一些软件业比较发达的国家软件产品的UI设计过程贯穿了软件开发的自始至终,而且是必不可少的。而在中国产品UI设计并没有被广泛接受,就算是已经有了UI设计师的一些企业也没有对产品的UI有着足够的重视,一般来讲他们大都会把重点放在如何使用代码实现所需要的功能,在我看来这只是一个成功软件产品的一个部分。一个优秀软件产品的开发过程应该是由四个部分组成: 1.软件产品的设计(业务建模) 2.系统的设计(技术建模) 3.分单元的开发(把软件各个部分拆分分单元编写代码) 4.测试(分为单元测试、系统集成测试和产品功能测试),这些是由软件研发部门做的工作。 除去以上软件开发过程的四个部分还有用户需求和用户验收测试,这两个过程是由市场部门和产品用户一起完成。所以说用代码实现产品功能(coding过程)只是软件开发的一个步骤。现在我们回到UI设计的角度来看,作为UI设计人员我们需要全程参与到软件开发过程中,而不只是在某一个步骤参与,现在在大多数软件企业里UI设计师只是在产品的coding过程的时候才实质性的参与到软件开发过程里,而在其它几个步骤里只是参加甚至根本没有参加(在这里我要强调“参与”和“参加”是两个词的不同概念,“参与”指的是完全加入到开发行列开始进入设计阶段,而“参加”指的只是旁听会议或者提出一些简单的意见并没有开始进入设计阶段),这样就会大大降低软件产品的开发效率使开发成本成倍上升甚至导致整个产品的不成功!这并不是危言耸听,下面我们分析一下在一个软件产品的开发过程中UI设计应该怎么做、做到什么地步才能避免上边提到的那些问题?下面我会根据软件开发的过程解释上边的问题,刚才我提过软件开发过程的几个步骤: 1.产品建模 2.技术建模 3.分模块开发 4.测试,那么我们也分为这四个部分进行讨论: 一.产品建模时期:我们首先来了解一下“输入”和“输出”,在UI设计里是很重要的两个概念,经常会有人过来对我说“我们有一个软件产品需要美化一下”然后再也没有什么深入的解释了,仅仅这句话我的工作就要开始了,然而这个软件是给谁用的?是干什么的?我们却一无所知!成功的UI设计首先要有完整的“输入”,怎么才能叫做完整的“输入”呢?也就需要UI设计师从整个软件产品的策划阶段就开始介入,在产品用户(也就是客户)向市场部门或者产品部门提出产品需求的时候就要开始参与到产品策划开发过程中来,这一部分对于UI设计师而言就是第一个输入阶段,并且在这个阶段里UI设计师也需要提出一些对产品交互设计的意见,以便产品部门在做产品设计的时候的考虑到产品的交互性和功能的简单表现原则,有很多软件在设计阶段就被加入了许多并不是用的附加功能,其实一个好的软件设计就是要用最简单的结构实现用户的想法,一些可有可无的功能看上去很花哨往往会影响用户的判断能力,这些就是产品优化的一些概念了。在此我需要简单的提一下如果想要深入研究可以看一些有关于产品优化的书籍甚至是心理学的书籍,有很多人认为软件的优化就是代码的优化(用最少的代码实现产品功能),在我看来这只是程序的优化是针对程序员而言的而不是整个软件产品的优化,产品优化包含了交互设计在现在的多数软件企业没有专门做这一部分的交互设计师所以往往这一部分被忽略,我认为这一部分应该又UI设计师承担起来,从文章的开头我就说过UI设计不只是图形界面的设计,就算是有企业里边有这样的优化人员或者交互设计师他们也要和UI设计师一起配合完成产品交互设计,作为UI设计师产品的交互性和易用性是在做设计的时候必须考虑的!言归正传,产品设计人员经常不会过多考虑简单易用原理也就是产品出来用什么样的组合形式体现给用户,这也是UI设计师考虑最多的事情,所以UI设计师一定要在产品建模期间参与设计,给产品设计师一些意见。作为一名优秀的UI设计师我们还要在了解了产品的需求之后更深入了解这个产品的使用环境和用户群体的使用习惯。我们还需要了解市场上的同类软件产品的设计方案,研究他们的优缺点,以便在我们设计的时候吸取它们的长处避免它们的错误。在产品建模之后一般的都会由产品设计人员给客户做一次功能设计讲解,往往这样的讲解只是文字性质的需要让客户想象着理解,这就会造成很大的隐患有的客户根本无法理解你的讲解甚至对这样的讲解根本不认真听,因为他们根本不懂,在讨论过程中他们经常会同意产品设计人员的一切设计想法但是产品测试的时候他们又会提出种种不满意,我想这是一般的软件公司都会遇到的也是最最头疼的事情,但这并不能怪客户我说过客户只会关心视觉效果和软件的操作而并不会去关心我们是怎么实现这一切的。这种情况带来的直接后果就是产品的反复修改开发成本成倍上升,怎么避免呢?这就要靠UI设计师了,俗话说“眼见为实,耳听为虚”,所以需要UI设计师做出一个产品整体效果的demo。这个demo用图片的形式表现就可以,我们只需要将要体现的产品界面做一个拼凑就可以了,因为这并不是产品的最后样子,只是协助产品设计人员给客户讲解产品设计。产品建模时期UI设计师要了解客户的要求想法和产品设计人员对产品功能的要求深入了解产品,采集用户的使用需求、使用环境和使用习惯,了解市场同类产品的设计分析它们的优缺点。协助产品设计人员完成产品建模过程并制作产品展示demo模拟用户对主要功能的操作过程和界面呈现,生成交互原型(基本上产品的交互性和易用性问题都需要在产品建模的时期解决)。如果时间允许我们甚至可以提出一份“UI设计分析报告”,这份报告可以附在产品设计说明后,更有效的帮助客户了解我们的产品设计并且帮助开发人员更好的遵循UI的整体要求来完成开发工作。这个时期的关键是“交互设计”。 二.技术建模时期:在这个时期作为UI设计师我们已经了解了软件产品的功能需求并且拿到了一份产品设计人员的产品设计说明,可以进入界面样式的设计过程了。这个时候我们应该考虑的应该是产品的整体风格和界面的设计,通常我们也会做出几份方案给客户选择。有些客户会要求产品遵循一个整体的VI设计标准,那么我们就需要按照一个整体的已定的风格去设计软件的界面,要与客户公司的企业形象吻合。在这个时期软件的UI设计进入到了美术设计阶段,我们需要制定整个软件的风格,塑造软件的整体形象,并且具体的描述每一个界面中的元素和布局、文字字体等信息。在这个阶段我也不应过多的说什么,主要是每个UI设计师各自发挥你们的艺术专长用最简洁、最漂亮的界面表现软件产品。需要注意的就是在我们设计整体风格的时候一定要深入了解这个产品的理念,看看它是干什么用的。不同的产品要有不同的风格,这里边有很多的细节注意,不同的产品、同类的产品不同的内容、不同的传播介质,这些都会决定UI设计的风格。 1.不同的产品:比如一个游戏产品就需要将界面做的花哨一些或者用大的图片充斥;如果要是一个应用软件就需要突出使用方便和强大的功能设计要简洁。 2.同类不同的内容:比如一个可爱的游戏产品(像是卡通类游戏)就需要将界面做的活泼生动可爱一点;如果是一个角色扮演的战斗类游戏(像是枪战闯关类游戏)就要做的酷一点深沉一些。 3.不同的传播介质:我们要做的软件产品有的需要在网络上传播那么就需要我们考虑到网络速度的问题;有的就是利用光盘当作介质那么这样的软件就可以做一些比较花哨的效果。所以说不同的产品还需要单独考虑,这也需要UI设计师多多了解产品,保持与客户交流。还需要重点注意的就是我们在做图形化设计的过程中千万要贯彻在前一个阶段做好的交互设计,始终注意产品的交互性和易用性。在设计过程中我们一定要做出每种结构每一个步骤的效果图,不能只提供图标、按钮、背景图等图片,这样的话程序员根本不知道往那放这些东西,在这个时期我们就要最终确定软件界面的呈现形式。技术建模一般是由高级程序员完成的,他们会将整个软件开发分为一个一个功能模块,分配给一个一个的开发小组。但是这些负责技术建模的高级程序员考虑的往往是如何将整个设计用代码实现、怎么才能更有效的复用以前已有的模块等等,而不是软件是什么模样会有什么样的风格,所以作为UI设计师我们必须主动出击,多多和他们交流以保证我们的想法能够完整的实现,如果有技术实现的问题我们还要及时做出修改。有时候我们还需要根据客户或者产品的特定需求做一些延伸性的设计(也叫UI产品设计的外延),包括:软件的安装导航界面、产品的演示宣传动画、一些附带的桌面壁纸或者屏幕保护、代表软件的卡通小精灵、有时还会被要求设计软件的logo和广告banner等等。技术建模时期的关键是“风格和界面设计”。 三.分模块开发时期:这个时期软件开发过程进入实现阶段,也是需要人力最多的时期,这样就会分散UI设计师的精力。软件会被切分为若干个小的模块进行代码编写,最后整合成一个完整的软件产品。对于一个程序员来讲他们大多根本不会考虑到产品应该是什么样子应该有什么整体风格,他们所考虑的只是如何用代码实现设计的要求,而且在现在的软件企业多都实现了模块的复用,这样会大大节约人力成本,那么程序员只是对原有模板进行修改使之适应新的软件产品,这样就会对UI设计的最终贯彻和实现带来很大的麻烦。做出的每一个模块虽然已经能够使用但是都是“各自为政”没有统一,因此我们也需要主动的协助和监督程序员完整的实现UI设计的要求,如果有技术无法实现的问题需要及时沟通改正设计方案。有的时候有些模块需要有单独的风格,比如一些已有的软件产品需要集合到某一个新的产品中去,这样就会加大了设计师的设计难度,我们必须要在保证产品整体风格不变的情况下将原有产品的设计风格集合进去,使之更加适合新的产品表现形式。如果我们仍旧保持原有产品的风格那么当各个模块集合起来之后往往会使新的产品感觉很松散,进入每一个功能都会觉得是另外一个软件,使人对软件的印象不深刻。在这个阶段我们还是要主动一些,跟进各个模块界面的实现。现在很多软件企业都存在很多UI设计师和程序员的协作问题,不是程序员做不到UI设计的要求,就是UI设计师坚持一些自己的想法不能改动,还有的时候经常会有人过来没头没尾的说帮我做点东西吧!当软件集成到一起再一看,就是很多不同风格的东西堆砌到一起,从头到尾都不舒服,领导或者客户看了以后极度不满狂批一阵,最后得出结果UI设计做的不到位。 有人说UI设计师就要背着软件不成功的黑锅,因为人们根本看不见代码怎么写的,功能是怎么实现的,他们只知道对软件的样子和使用进行评论。让一个用户评论一个软件他们只会说这个软件好用看上去也不错挺漂亮的,但是做为一个普通用户决不会有人说这个软件程序写的不错。这么一看我们会联想到现在软件开发之中主要的冲突在UI设计师和程序员之间,其实这只是表面的表现形式。实质上这个现象体现了现在软件企业的一个通病就是这个开发组之间的协作关系混乱,程序员和UI设计师之间是平级协作关系,程序员是不会对产品负责的,这样看来UI设计师只应该听项目经理的,无论对设计做什么样的改动或者增添什么样的东西,都应该由开发项目经理和产品经理协商之后决定,只有他们可以对最终的产品负责。这样也可以避免很多程序员和UI设计师之间的争执和矛盾。但是现在大多说软件企业的产品经理和开发项目经理没有做到这一点,他们也根本不了解UI设计师和程序员的工作,也无法把握他们的工作量,这样无序的管理会造成很麻烦的后果。其实可以建立一些合理的流程管理制度,就算企业没有作为UI设计师也可以自己起草一份适合自己和企业的“UI设计需求申请单”,里边应该列出我们需要的“输入”内容、工作时间、最终的“输出”结果等等栏目(可以自己根据要求灵活决定)。这样形成一个有参与人、有依据、有存底的工作流程,出现问题或者争执的时候我们有据可依,这只是一个习惯性的东西因不同的企业而议不一定都要建立需求单。在分模块开发时期UI设计师应该做的是,在模块开发的前期做出产品每个模块的效果demo(可以用图片的形式表现)要求程序员按照demo的样式进行模块开发,协助和监督程序员严格按照UI设计要求生成最终产品,把握各个模块的统一,经常了解程序员的工作进展及时对不合理或者难以实现的设计进行讨论设计出新的方案。分模块开发时期的关键是“协助和监督程序员生成最终产品”。 四.测试时期的输入和输出: 软件产品的测试会分为三个测试阶段,第一个是分模块开发完成之后每一个模块进行的单元测试;第二个是将各个单元集成为一个整体的产品进行集成测试;第三个就是整个产品在交付使用前进行的整体测试。在测试过程中UI设计师的任务相对会轻松一些,我们只需要跟着测试人员走几遍流程,如果在其中发现没有按照UI设计要求的部分及时要求改正就好了。 我们还会经常遇到客户在测试过程中突然觉得那里不合适需要修改,这也是最最头疼的事情了,有的时候他们说的并不一定对,只要我们设计的每一个步骤都有一定的道理能够说服他们就一切ok了。如果他们执意要修改设计方案,那么我们没办法只能按照客户需求修改。但是如果前边按照本文的流程走下来我想这样的可能性不大就算是修改也不会是大动干戈。在修改过程中我们还是需要先做出效果图,让客户确定再具体实施,这样也会避免很多麻烦的。测试时期的关键是“检查整个产品发现问题及时改正”。如今软件的越来越多的考虑到人的因素,“以人为本”的设计理念贯穿了整个软件产品开发的始终,因此软件产品的UI设计过程最重要的两个部分就是行为和构造,也就是交互设计和界面设计。上面我们按照软件开发的四个阶段,逐个的分析了每个时期UI设计的任务。由此我们可以看出UI设计并不完全是一个美术设计的过程,还有很重要的一个部分就是交互性和易用性的设计。我们要时刻把自己放在软件的用户角度来考虑,设计出最简单易用,界面友好的软件产品。 善于使用继承,让美工团队去设计窗体的界面,程序团队只去实现窗体功能。来源:网络

如何设计安全的用户登录功能

  Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能。下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录功能。  用户名和口令  首先,我们先来说说用户名和口令的事。这并不是本站第一次谈论这个事了。如何管理自己的口令让你知道怎么管理自己的口令,破解你的口令让你知道在现代这样速度的计算速度下,用穷举法破解你的口令可能会是一件很轻松的事。在这里我想告诉从开发者的角度上来做设计这个用户名和口令的事。下面一几件规则:  限制用户输入一些非常容易被破解的口令。如什么qwert,123456, password之类,就像twitter限制用户的口令一样做一个口令的黑名单。另外,你可以限制用户口令的长度,是否有大小写,是否有数字,你可以用你的程序做一下校验。当然,这可能会让用户感到很不爽,所以,现在很多网站都提供了UX让用户知道他的口令强度是什么样的(比如这个有趣的UX),这样可以让用户有一个选择,目的就是告诉用户——要想安全,先把口令设得好一点。  千万不要明文保存用户的口令。正如如何管理自己的口令所说的一样,很多时候,用户都会用相同的ID相同的口令来登录很多网站。所以,如果你的网站明文保存的话,那么,如果你的数据被你的不良员工流传出去那对用户是灾难性的。所以,用户的口令一定要加密保存,最好是用不可逆的加密,如MD5或是SHA1之类的有hash算法的不可逆的加密算法。CSDN曾明文保存过用户的口令。(另,对于国内公司的品行以及有关部门的管理方式,我不敢保证国内网站以加密的方式保存你的口令。我觉得,做为一个有良知的人,我们应该加密保存用户的口令)  是否让浏览器保存口令。我们有N多的方法可以不让浏览器保存用户名和口令。但是这可能对用户来说很不爽。因为在真实世界里谁也记得不住那么多的口令。很多用户可能会使用一些密码管理工具来保存密码,浏览器只是其中一种。是否让浏览器保存这个需要你做决定,重点是看一下你的系统的安全级别是否要求比较高,如果是的话,则不要让浏览器保存密码,并在网站明显的位置告诉用户——保存口令最安全的地方只有你的大脑。  口令在网上的传输。因为HTTP是明文协议,所以,用户名和口令在网上也是明文发送的,这个很不安全。你可以看看这篇文章你就明白了。要做到加密传输就必需使用HTTPS协议。但是,在中国还是有很多网站的Web登录方式还在使用ActiveX控件,这可能成为IE6还大量存在的原因。我通常理解为这些ActiveX控件是为了反键盘记录程序的。不过,我依然觉ActiveX控件不应该存在,因为在国外的众多安全很重要的站点上都看不到ActiveX的控件的身影。  用户登录状态  首先,我想告诉大家的是,因为HTTP是无状态的协议,也就是说,这个协议是无法记录用户访问状态的,其每次请求都是独立的无关联的,一笔是一笔。而我们的网站都是设计成多个页面的,所在页面跳转过程中我们需要知道用户的状态,尤其是用户登录的状态,这样我们在页面跳转后我们才知道是否可以让用户有权限来操作一些功能或是查看一些数据。  所以,我们每个页面都需要对用户的身份进行认证。当然,我们不可能让用户在每个页面上输入用户名和口令,这会让用户觉得我们的网站相当的SB。为了实现这一功能,用得最多的技术就是浏览器的cookie,我们会把用户登录的信息存放在客户端的cookie里,这样,我们每个页面都从这个cookie里获得用户是否登录的信息,从而达到记录状态,验证用户的目的。但是,你真的会用cookie吗?下面是使用cookie的一些原则。  千万不要在cookie中存放用户的密码。加密的密码都不行。因为这个密码可以被人获取并尝试离线穷举。所以,你一定不能把用户的密码保存在cookie中。我看到太多的站点这么干了。  正确设计“记住密码”。这个功能简直就是一个安全隐患,我觉得并不是所有的程序员都知道怎么设计这个事。一般的设计是——一时用户勾选了这个功能,系统会生成一个cookie,cookie包括用户名和一个固定的散列值,这个固定的散列值一直使用。这样,你就可以在所有的设备和客户上都可以登录,而且可以有多个用户同时登录。这个并不是很安全。下面是一些更为安全的方法供你参考:  (——更新 2011/08/26,原文中有些小错误,并且说的不清楚,重新调整了一下——)  1)在cookie中,保存三个东西——用户名,登录序列,登录token。  用户名:明文存放。  登录序列:一个被MD5散列过的随机数,仅当强制用户输入口令时更新(如:用户修改了口令)。  登录token:一个被MD5散列过的随机数,仅一个登录session内有效,新的登录session会更新它。  2)上述三个东西会存在服务器上,服务器的验证用户需要验证客户端cookie里的这三个事。  3)这样的设计会有什么样的效果,会有下面的效果,  a)登录token是单实例登录。意思就是一个用户只能有一个登录实例。  b)登录序列是用来做盗用行为检测的。如果用户的cookie被盗后,盗用者使用这个cookie访问网站时,我们的系统是以为是合法用户,然后更新“登录token”,而真正的用户回来访问时,系统发现只有“用户名”和“登录序列”相同,但是“登录token”不对,这样的话,系统就知道,这个用户可能出现了被盗用的情况,于是,系统可以清除并更改登录序列 和 登录token,这样就可以令所有的cookie失效,并要求用户输入口令。并给警告用户系统安全。  4)当然,上述这样的设计还是会有一些问题,比如:同一用户的不同设备登录,甚至在同一个设备上使用不同的浏览器保登录。一个设备会让另一个设备的登录token和登录序列失效,从而让其它设备和浏览器需要重新登录,并会造成cookie被盗用的假象。所以,你在服务器服还需要考虑- IP 地址,  a)如果以口令方式登录,我们无需更新服务器的“登录序列”和 “登录token”(但需要更新cookie)。因为我们认为口令只有真正的用户知道。  b)如果 IP相同 ,那么,我们无需更新服务器的“登录序列”和 “登录token”(但需要更新cookie)。因为我们认为是同一用户有同一IP(当然,同一个局域网里也有同一IP,但我们认为这个局域网是用户可以控制的。网吧内并不推荐使用这一功能)。  c)如果(IP不同 &&没有用口令登录),那么,“登录token”就会在多个IP间发生变化(登录token在两个或多个ip间被来来回回的变换),当在一定时间内达到一定次数后,系统才会真正觉得被盗用的可能性很高,此时系统在后台清除“登录序列”和“登录token“,让Cookie失效,强制用户输入口令(或是要求用户更改口令),以保证多台设备上的cookie一致。  不要让cookie有权限访问所有的操作。否则就是XSS攻击,这个功能请参看新浪微博的XSS攻击。下面的这些功能一定要用户输入口令:  1)修改口令。  2)修改电子邮件。(电子邮件通过用来找回用户密码)  3)用户的隐私信息。  4)用户消费功能。  权衡Cookie的过期时间。如果是永不过期,会有很不错的用户体验,但是这也会让用户很快就忘了登录密码。如果设置上过期期限,比如2周,一个月,那么可能会好一点,但是2周和一个月后,用户依然会忘了密码。尤其是用户在一些公共电脑上,如果保存了永久cookie的话,等于泄露了帐号。所以,对于cookie的过期时间我们还需要权衡。  找回口令的功能  找回口令的功能一定要提供。但是很多朋友并不知道怎么来设计这个功能。我们有很多找回口令的设计,下面我逐个点评一下。  千万不要使用安全问答。事实证明,这个环节很烦人,而且用户并不能很好的设置安全问答。什么,我的生日啊,我母亲的生日,等等。因为今天的互联网和以前不一样了,因为SNS,今天的互联比以前更真实了,我可以上facebook,开心,人人网,LinkedIn查到你的很多的真实的信息。通过这些信息我可以使用安全问答来重设你的口令。这里需要说一下 Facebook,Facebook的安全问答很强大,还要你通过照片认人,呵呵。  不要重置用户的密码。因为这有可能让用户的密码遭到恶意攻击。当然,你要发个邮件给用户让其确认,用户点击邮件中的一个链接,你再重置。我并不推荐这样的方法,因为用户一般都会用笔记下来这个很难记的口令,然后登录系统,因为登录系统时使用了“记住密码”的功能,所以导致用户不会去修改密码,从而要么导到被写下来的密码被人盗取,要么又忘记了密码。  好一点的做法——通过邮件自行重置。当用户申请找回口令功能的时候,系统生成一个MD5唯一的随机字串(可通过UID+IP+timestamp+随机数),放在数据库中,然后设置上时限(比如1小时内),给用户发一个邮件,这个连接中包含那个MD5的字串的链接,用户通过点击那个链接来自己重新设置新的口令。  更好一点的做法——多重认证。比如:通过手机+邮件的方式让用户输入验证码。手机+邮件可能还不把握,因为手机要能会丢了,而我的手机可以访问我的邮箱。所以,使用U盾,SecureID(一个会变化的6位数token),或是通过人工的方式核实用户身份。当然,这主要看你的系统的安全级别了。  口令探测防守  使用验证码。验证码是后台随机产生的一个短暂的验证码,这个验证码一般是一个计算机很难识别的图片。这样就可以防止以程序的方式来尝试用户的口令。事实证明,这是最简单也最有效的方式。当然,总是让用户输入那些肉眼都看不清的验证码的用户体验不好,所以,可以折中一下。比如Google,当他发现一个IP地址发出大量的搜索后,其会要求你输入验证码。当他发现同一个IP注册了3个以上的gmail邮箱后,他需要给你发短信方式或是电话方式的验证码。  用户口令失败次数。调置口令失败的上限,如果失败过多,则把帐号锁了,需要用户以找回口令的方式来重新激活帐号。但是,这个功能可能会被恶意人使用。最好的方法是,增加其尝试的时间成本(以前的这篇文章说过一个增加时间成本的解密算法)。如,两次口令尝试的间隔是5秒钟。三次以上错误,帐号被临时锁上30秒,5次以上帐号被锁1分钟,10次以上错误帐号被锁4小时……  系统全局防守。上述的防守只针对某一个别用户。恶意者们深知这一点,所以,他们一般会动用“僵尸网络”轮着尝试一堆用户的口令,所以上述的那种方法可能还不够好。我们需要在系统全局域上监控所有的口令失败的次数。当然,这个需要我们平时没有受到攻击时的数据做为支持。比如你的系统,平均每天有5000次的口令错误的事件,那么你可以认为,当口令错误大幅超过这个数后,而且时间相对集中,就说明有黑客攻击。这个时候你怎么办?一般最常见使用的方法是让所有的用户输错口令后再次尝试的时间成本增加。  最后,再说一下,关于用户登录,使用第三方的 OAuth 和 OpenID 也不失为一个很不错的选择。  

微信公众号的界面设计

微信公众号的界面设计可以采用第三方编辑器进行设计,都是免费的,直接可用的格式,带有很多模板,根据需要选择后替换为自己所需要的文字和图片即可。1.    百度搜索在线编辑器,进入编辑器界面。2.    点击左侧分类格式,就会列出各种预存格式供选择。3.    点击一个样式后,就会自动插入右侧编辑器中,整体编辑完毕后,复制即可直接粘贴到微信公众号自带的编辑器内。4.    其他样式,也可以用相同方式进行编辑,还可以整个图文消息内容编辑完毕后,再一次性复制粘贴到微信公众号自带的编辑器内,保存再群发。

ui设计用什么软件

UI设计软件相关的技术学习UI图形界面设计,常用的几个软件分别是一、Photoshop二、Illustrator三、Fireworks四、CorelDRAW五、Flash_____________________________________________UI即User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。 UI是什么 软件设计可分为两个部分:编码设计与UI设计。编码设计大家都很熟悉,但是 UI设计还是一个很陌生的词,即使一些专门从事网站与多媒体设计的人也不完全理解UI的意思。UI的本意是用户界面,是英文User和 interface的缩写。从字面上看是用户与界面2个组成部分,但实际上还包括用户与界面之间的交互关系。 界面设计。在漫长的软件发展中,界面设计工作一直没有被重视起来。做界面设计的人也被贬义的称为“美工”。其实软件界面设计就像工业产品中的工业造型设计一样,是产品的重要买点。一个友好美观的界面会给人带来舒适的视觉享受,拉近人与电脑的距离,为商家创造卖点。界面设计不是单纯的美术绘画,他需要定位使用者、使用环境、使用方式并且为最终用户而设计,是纯粹的科学性的艺术设计。检验一个界面的标准即不是某个项目开发组领导的意见也不是项目成员投票的结果,而是最终用户的感受。所以界面设计要和用户研究紧密结合,是一个不断为最终用户设计满意视觉效果的过程。

h5的web界面和普通的界面之间,有什么设计上的区别

H5是指第5代HTML,html5增加了一些新标签和新的属性,对于移动端开发有很大的优势。HTML5将会取代1999年制定的HTML 4.01、XHTML 1.0标准,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求,为桌面和移动平台带来无缝衔接的丰富内容。HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括:· 新的解析规则增强了灵活性· 新属性· 淘汰过时的或冗余的属性· 一个HTML5文档到另一个文档间的拖放功能· 离线编辑· 信息传递的增强· 详细的解析规则· 多用途互联网邮件扩展(MIME)和协议处理程序注册· 在SQL数据库中存储数据的通用标准(Web SQL)

html网页设计:一个简单的登录界面代码!

<!doctype html><html><head><meta charset="utf-8"><link href="main.css" type="text/css" rel="stylesheet"><title>登陆界面</title></head><body> <div class="login_ico"> <img src="images/login_ico.png"> </div> <div class="login_putin"> <ul> <li><input type="text" ></li> <li><input type="password" ></li> </ul> </div> <div class="login_btn"> <input type="submit" value="登陆"> </div></body></html>样式 :*{ margin:0; padding:0;}li{ list-style-type:none; margin:0; padding:0;}a{ text-decoration:none; color:#000;}/*---------------------按钮-----------------------------*/.login_putin ul li input{ margin: 0; width:70%; padding: 1em 2em 1em 5.4em; -webkit-border-radius:.3em; -moz-border-radius: .3em; border: 1px solid #999;}.login_btn{ width:300px; margin:40px auto 0 auto;}.login_btn input{ width:100%; margin:0; padding:.5em 0; -webkit-border-radius:.3em; -moz-border-radius: .3em; border:#1263be solid 1px; background:#1b85fd; color:#FFF; font-size:17px; font-weight:bolder; letter-spacing:1em;}.login_btn input:hover{ background:#1263be; }

建站需求填写

采购需求填写

采购需求

采购产品:
联系人:
* 联系电话:
公司名称:
补充说明:
* 验证码:
提交