`
huangyongxing310
  • 浏览: 499033 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

URL重写例子

阅读更多
URL重写例子


使Session更安全的方法:
1.分配给用户 Session ID 时,同时探明用户使用的浏览器和 IP 地址、端口号,作为验证依据,使非法用户不能进行 Session ID 欺骗。
2.登陆时Session重置,也是一个有效的方法。//request.getSession().invalidate();


encodeURL在附加jsessionid之前还对url做了判断处理:如果url为空字符串(长度为0的字符串),则将url转换为完整的URL(http或https开头的);如果url是完整的URL,但不含任何路径(即只包含协议、主机名、端口,例如http://127.0.0.1),则在末尾加上根路径符号/。
也就是encodeURL如果进行了编码,则返回的URL一定是完整URL而不是相对路径;而encodeRedirectURL则不对URL本身进行处理,只专注于添加jsessionid参数(如果需要)。


package com.cesmart.controller;

import java.lang.ProcessBuilder.Redirect;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Controller
public class WebTestUrl {
	@Autowired
	protected HttpServletResponse response;
	@Autowired
	protected HttpServletRequest request;

	@RequestMapping("/WebTestUrl")
	public String webTest() {
		System.out.println("WebTestUrl");

		// System.out.println("getCookies == " + request.getCookies());
		System.out.println("getRemoteAddr == " + request.getRemoteAddr());
		System.out.println("getRemoteHost == " + request.getRemoteHost());
		System.out.println("getRemotePort == " + request.getRemotePort());

		System.out.println("hashCode == " + request.getSession().hashCode());
		String encodeRedirectUrl = response.encodeURL("/001.html");
		System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);
		// Session重置,就是清空Session
		request.getSession().invalidate();
		System.out.println("getSession == " + request.getSession());
		System.out.println("hashCode == " + request.getSession().hashCode());
		encodeRedirectUrl = response.encodeURL("/001.html");
		System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);

		encodeRedirectUrl = response.encodeRedirectURL("/WebTestUrl2");
		System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);

		String returnString = "redirect:" + encodeRedirectUrl;
		return returnString;
	}
}



package com.cesmart.controller;

import java.lang.ProcessBuilder.Redirect;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class WebTestUrl2 {
	@Autowired
	protected HttpServletResponse response;
	@Autowired
	protected HttpServletRequest request;

	@RequestMapping("/WebTestUrl2")
	public String webTest2() {
		System.out.println("WebTestUrl2");

		System.out.println("getCookies == " + request.getCookies());

		System.out.println("getSession == " + request.getSession());
		System.out.println("getSession == " + request.getSession().hashCode());

//		String encodeRedirectUrl = response.encodeURL("/001.html");

		 String encodeRedirectUrl = response.encodeRedirectURL("/001.html");

		System.out.println("encodeRedirectUrl == " + encodeRedirectUrl);

		String returnString = "<a href='" + encodeRedirectUrl + "'>购买</a>";

		System.out.println("returnString == " + returnString);

		return returnString;
	}
}



package com.cesmart;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

import com.cesmart.entity.TestBean;
import com.cesmart.entity.TestBean2;

//@Configuration
@EnableAutoConfiguration
// @ComponentScan(basePackages = "com.cesmart.config") //扫描那些包得到bean
@ComponentScan(basePackages = "com.cesmart") // 扫描那些包得到bean.@ComponentScan({"com.teradata.notification","com.teradata.dal"})
public class Application {
	public static void main(String[] args) {
		ApplicationContext applicationContext = SpringApplication.run(Application.class, args);

		TestBean testBean = (TestBean) applicationContext.getBean("testBean");
		System.out.println("TestBean == " + testBean.toString());

		TestBean2 testBean2 = (TestBean2) applicationContext.getBean("testBean2");
		System.out.println("TestBean2 == " + testBean2.toString());

		TestBean2 testBean3 = (TestBean2) applicationContext.getBean("testBean3");
		System.out.println("TestBean3 == " + testBean2.toString());
	}
}


分享到:
评论

相关推荐

    asp.net2.0的URL重写例子

    ASP.NET 2.0 的 URL 重写是网站优化和用户体验提升的重要技术,它允许开发者隐藏实际的 URL 结构,创建更加用户友好、搜索引擎友好的网址。URL 重写技术在 ASP.NET 中主要通过 `HttpModule` 和 `UrlRoutingModule` ...

    URL重写概念和例子

    ### URL重写概念和例子 #### 一、URL重写定义与作用 **URL重写**(Uniform Resource Locator Rewriting),是指在服务器端对原始的URL请求进行转换,使其变为另一种形式,以便更好地满足网站设计的需求。这种转换既...

    URL重写的一个例子

    URL重写是Web开发中的一种技术,主要用于优化和简化用户访问网站时的URL结构,使其更易读、更友好。这种技术通常与动态网站或基于框架的应用程序配合使用,例如ASP.NET、PHP、Java等。在本例中,我们将探讨URL重写的...

    UrlRewriteSample(URL重写例子)

    在ASP.NET中,URL重写是一项重要的技术,它允许开发者隐藏实际的URL结构,提供更加友好、可读性更强的网址给用户。"UrlRewriteSample"是一个具体的实例,展示了如何在ASP.NET环境中实现URL重写。这个压缩包可能包含...

    asp.net URL 重写 例子

    虽然URL重写本身并不涉及加密,但可以结合其他技术,如哈希或Base64编码,来对URL的部分内容进行编码,使得URL看起来更安全,减少敏感信息的暴露。 实现ASP.NET URL重写,首先需要在`Global.asax`文件中的`...

    .net的url重写例子附带源码,没有使用其他dll

    在这个例子中,我们看到一个压缩包包含相关的源代码,用于演示如何在.NET环境中实现URL重写,而无需依赖任何外部DLL。 URL重写的基本概念是通过HTTP模块或者路由机制,将用户请求的原始URL转换为服务器可以识别的...

    Url重写示例(无后缀Url重写)

    Url重写是Web开发中的一个重要概念,主要用于优化和管理网站的网址结构,使其更符合搜索引擎优化(SEO)标准,同时也可提升用户体验。无后缀Url重写是指在URL中不显示传统的文件扩展名,如.aspx、.html等,使网址看...

    Url ReWrite(URL重写的例子)

    URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的... l 易于被搜索引擎收录 Url ReWrite(URL重写的例子) web.config的配置和参数的传递,利用正则表达式批评URL地址,继承page类防重写

    UrlRewriter url重写

    Url重写能给你网站带来哪些好处 第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面。 而我们现在的页面大部分的数据都...我们就来实现一个的url重写例子

    伪静态URL重写技术

    伪静态URL重写技术是一种常见的Web开发技巧,主要用于优化网站的搜索引擎优化(SEO)和提高用户体验。这种技术将动态的、包含参数的URL转换为看似静态的、更友好的URL形式,使得用户和搜索引擎更容易理解和处理。在...

    URL重写实现

    URL重写是Web开发中的一个重要概念,主要用于优化和简化网站的URL结构,使其更符合搜索引擎优化(SEO)标准,同时也让用户体验更加友好。在本文中,我们将深入探讨URL重写的基本原理、作用以及如何实现。 一、URL...

    url重写 iis php web.config

    在IT行业中,URL重写是一项重要的技术,它主要用于优化网站的URL结构,使其更美观、易读,并且有助于搜索引擎优化(SEO)。在这个场景下,我们主要关注的是在IIS(Internet Information Services)服务器上,如何为...

    url重写代码

    URL重写是Web开发中的一个重要概念,主要用于优化和简化用户访问的网址,使其更具有可读性和友好性。在ASP.NET环境中,IIS(Internet Information Services)提供了URL重写模块,使得开发者能够轻松实现URL的转换。...

    在asp.net 中使用URL重写向(重写)技术

    ASP.NET中的URL重写技术是一种优化网站架构和提高搜索引擎友好度的重要手段。它允许我们将复杂的、包含参数的URL转换为简洁、易于理解的形式,通常被称为“伪静态”URL。URL重写不仅提升了用户体验,还能更好地匹配...

    asp.net 利用正则表达式url重写

    在这个例子中,我们将URL重写为`/product.aspx?id={R:1}`,其中`{R:1}`是之前正则表达式捕获的数字部分。`appendQueryString="false"`意味着查询字符串不应被附加到重写后的URL。 正则表达式在URL重写中的应用非常...

    URL重写动态链接库

    在ASP.NET开发中,URL重写是一个非常重要的技术,它能帮助我们创建更美观、更具SEO优化的URL,同时也有助于系统架构的优化。本文将深入探讨“URL重写动态链接库”的相关知识点,包括URL重写的基本概念、工作原理、...

    IIS中URL重写

    **IIS中的URL重写**是一项关键的Web服务器技术,用于改变用户在浏览器地址栏中看到的URL,而实际请求的资源保持不变。这一功能在网站优化、搜索引擎友好性(SEO)以及统一网站结构等方面发挥着重要作用。IIS...

    水印图片和URL重写

    在Asp.Net开发中,水印图片和URL重写是两个重要的技术,它们可以提升网站的用户体验和安全性。下面将详细解释这两个概念及其在实际应用中的实现方法。 首先,我们来了解一下水印图片。水印图片是一种在图像上添加半...

    url重写+配置文档

    在IT行业中,URL重写(URL Rewriting)是一种常见的技术,用于优化网站的URL结构,使其更加用户友好和搜索引擎友好。UrlRewritingNet.UrlRewriter是一个.NET Framework下的开源库,它提供了一种方便的方式来实现URL...

    url重写,url插件

    url重写,插件绿色安全  图六:匹配所有MonthDD,YYYY格式的日期,定义月份值为第一个组  1.7其它符号  为简便起见,你可以使用一些为常见正则表达式创建的快捷符号。如表二所示:  表二:常用符号  例如,在...

Global site tag (gtag.js) - Google Analytics