Don't allow the login page to be framed
Allowing the login page to be displayed within a frame can open the application up to a cross frame scripting vulnerability in some browsers. The EComm Core provides functionality to prevent framing in traditional template-based, JSP-based, and JavaServer Faces applications.
Don't disclose information through the help page
If the login page links to a help system, the information available should only cover the login page and other pages that are accessible before the user logs into the application. It's a common mistake to expose additional information through the help system. This may assist potential attackers who wish to learn about the how the application works and what functionality is available.
Offset the User Id and Password fields from the center of the page
A common phishing technique is to insert code into a session that results in an HTTP Basic Authentication box displaying in the center of the screen. If the User Id and Password entry fields are centered on the page, they can be hidden by the dialog and the user may enter their credentials into the wrong input fields.
Don't prefill user id and password data
A login page should never prefill the user id and password fields with previously entered data. For example, if the user enters an incorrect password, when the page is redisplayed, both fields should be empty. To prevent the browser from prefilling the fields, both input elements should have the autocomplete='off' attribute set.
Don't use unique error codes or messages for User Id or Password errors.
Using unique error codes or messages for User Id or Password errors can lead to inadvertent information disclosure. This could allow an attacker to identify valid User Ids and potentially guess a common password or launch a denial-of-service attack.
Establish a new session after authentication
For simple applications, the best approach is to code the login page so it doesn't establish a session. However, many more complex applications require a session before the user is authenticated to implement functions such as new user enrollment or password changes and resets. If a session is established before authentication, it should be deleted and a new session established after the user authenticates to avoid a session fixation attack.
Redirect the user after authentication
After the user has been authenticated, the next page the application displays should not be the application's landing page, but instead should be a page that uses a meta refresh tag to redirect the user to the landing page using the newly established session identifier.
This prevents a security issue where the user can logout then use the browser's Back button to back up to the landing page and click Refresh which causes the login credentials to be resubmitted by the browser and a new session established.
If the user attempts this with an application that has a redirect between the login and landing pages, the information the browser resubmits is the session identifier (which is now invalid), not the login credentials.
Use cookies correctly
Session cookies should be marked secure and HTTPOnly.
分享到:
相关推荐
"build-essential_11.3.tar.gz" 是一个针对Linux系统的软件包,它包含了构建基本开发环境所需的重要组件,特别是“build-essential”套件。这个套件的名字表明它是构建其他软件所必需的基石,通常包括了编译源代码所...
和文档配套使用,记录学习
The development book for HTML and CSS, it's usefull for web development studying!
集合版,官网提供,用8.0系列注册机可以激活,亲测可用
Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中<build>标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包...
DDKWizard is a so-called project creation wizard that allows you to create projects that use the DDKBUILD scripts from OSR (also available in ... This page will be extended whenever I deem it necessary.
Angular 5 Projects Learn to Build Single Page Web Applications Using 70+ Projects 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
本文将深入探讨标题"ddkwizard+ddkbuild_bat+ddkbuild_cmd"所涉及的三个关键文件,以及如何在VS2008和WDK环境下使用它们来搭建开发环境。 首先,`ddkwizard` 是一个驱动程序向导,它为开发者提供了一个图形化的界面...
You’ll also master security-centric techniques you can apply throughout your build-test-deploy pipeline, including the unique concerns of modern microservices and cloud-native designs. ...
Microsoft Visual C++ Build Tools 是一组专门用于构建C++应用程序的工具集,由微软公司提供。这个工具包的主要目的是为了在不安装完整的Visual Studio IDE的情况下,为开发者提供编译、链接和其他构建过程所需的...
windows build tools 离线安装包,windows build tools offline installer, 更新于2021-01-07
在Android开发过程中,`build-tools-26`是一个重要的组件,它是Android SDK的一部分,主要用于构建Android应用程序。这个版本号(26)代表了该构建工具的特定迭代,它包含了修复8.0(API级别26)系统中某些问题的...
• Build modern, dynamic, and interactive user interface using the Page Designer • Increase user experience using Dynamic Actions (Ajax included) • Build and utilize the new APEX 5.1 Interactive ...
【标题】"login multi user.rar_bowiwe_build" 指的是一个压缩文件,其中包含了“bowiwe build”项目的登录多用户系统相关的资源或代码。这个标题暗示我们可能要探讨的是一个支持多个用户登录的应用程序或者系统的...
Android Build Tool 25.0.2 是一个关键的组件,用于构建Android应用程序。这个版本的Build Tools包含了一系列工具,这些工具在应用开发过程中扮演着不可或缺的角色,从编译源代码到生成APK,再到调试和优化。在这个...
The packet mechanism and related mechanisms for authentication, key exchange, encryption, and integrity implement a transport-layer security mechanism, which is then used to build secure connections.
Trying to reduce your game build to less than 50 MB? Need to see which of your assets are eating up disk space? This tool provides a nice front-end for Unity's build info. It shows the assets ...
《Visual C++ 2015 Build Tools:解决Python pip安装VC++ 14.0依赖问题》 在软件开发领域,尤其是涉及到C++编程时,Microsoft的Visual Studio工具链是不可或缺的一部分。Visual C++ 2015 Build Tools(以下简称VC++...
### 使用MSBuild与Team Foundation Build:深入微软构建引擎 #### 一、概述 《Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build》是一本由Sayed Hashimi和William Bartholomew共同...
Android SDK Build-tools, revision 28.0.1 使用方法: $ [ ! -d $ANDROID_HOME/build-tools ] && mkdir -p $ANDROID_HOME/build-tools $ unzip build-tools_r28.0.1-macosx.zip -d $ANDROID_HOME/build-tools/ $ mv...