Java Web 项目 过滤 非指定域名的外部链接(网站)

问题描述

各位大大们,请问大家一个问题,怎么过滤掉非站内的链接,比如,以CSDN网站链接为例(过滤掉非csdn域名的链接):场景1:http://www.iteye.com/?a=http://www.csdn.net/如果用户输入这个,肯定是不行的,要提示用户存在非指定域名的链接;场景2:http://www.csdn.net/?a=http://www.iteye.com/这个链接,是可以的;场景3:http://csdn.net/?a=http://www.iteye.com/这个链接,是可以的;场景4:www.csdn.net/?a=http://www.iteye.com/这个链接,是可以的;其中,场景2、场景3、场景3之间的区别在于是否输入www的问题,这个就是说,http、www这个是可选的,是否输入,都可以;场景4:http://bbs.csdn.net/?a=http://www.iteye.com/存在二级域名,也是可以的。综上所述:指定的域名是csdn.net,可以存在二级域名,而且http和www可输入可不输入,而且这个域名是打头的,就是不能像场景1那样(因为场景1这样的网站,是会访问iteye,而不是访问csdn),对于场景1中的,问号?,其中#$等都是不可以的各位,不知道有什么办法,可以实现这个功能么?java和js的

解决方案

解决方案二:

不怕麻烦的话,就把几种http请求的协议手动配置起来以及域名后缀什么的,然后再根据uri进行截取加判断,呵呵最愚蠢的办法,不知道还有没有更好的……等高人出现
解决方案三:

没人回帖,自己顶一个先。求帮助。。。。。
解决方案四:

你写的每个字我都认识,就是没看明白你再说啥?
解决方案五:

引用3楼bigc2001的回复:

你写的每个字我都认识,就是没看明白你再说啥?

就是要过滤掉非本网站内的外部链接,但是要考虑到存在二级域名和是否输入httpwww的情况。
解决方案六:

写个Filter用正则匹配一下不可以吗??
解决方案七:

引用5楼huiwenjie168的回复:

写个Filter用正则匹配一下不可以吗??

可是可以,但是,我正则不太会。。。。我昨天试着写了下,没写太对。。。。
解决方案八:

http://csdn.netwww.csdn.nethttp://www.csdn.net意思是可以是http://orhttp://www.orwww.打头的,然后跟域名

时间: 2024-12-31 22:03:53

Java Web 项目 过滤 非指定域名的外部链接(网站)的相关文章

java web项目答辩答辩题总结(书本网上语言答辩+自己的语言答辩)

答辩每个人的总分为1.5分.每个人主要问3个问题. 开发流程===>系统架构====>项目模块+功能===>项目得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静态包含,动态包含,两者的区辨:?什么是MVC:?web系统架构:? java web项目答辩总结试题 注释:用楷体写的就是用自己组织的话来回答老师的问题. 1 http协议全名和特点 (答辩老师:你对HTTP的是怎么理解的: 答辩同学:首先HTTP是一种超文本传输协议,也是一种无状态的协议.        

eclipse上搭建maven多模块Java Web项目

1.模块化需求及项目模块说明 手头上有个已上线的系统,但因老板的特殊要求,系统需要不断的修改.还有就是公司市场部不定期地在举行一些微信活动,每一个活动都是周期性的,活动完了这个功能就要在系统中移除. 系统中就有三种模块:已经在系统中正常运行不需要再变更的模块.经常性变更的模块.用完就要移除的活动模块. 所以,我们需要把项目分成了下面几个模块. 简单说明一下: timetable-common是常用工具包存放的模块. wechat-api是微信接口模块,此模块用到了timetable-common

虚拟机-如何将java Web项目设置 nginx反向代理

问题描述 如何将java Web项目设置 nginx反向代理 操作系统 : cent Os 7 虚拟机上用tomcat跑了一个web项目,端口8001 虚拟机IP:192.168.168.144 在主机上可以通过 192.168.168.144:8001/web访问该项目. 请教如何配置nginx , 可以实现在 主机上 通过 www.mywebtest.com访问到该web项目? 呃,自己搞了半天.nginx都启不起来.. 配置文件如下: user nginx; worker_processe

云服务器 ECS 建站教程:手工部署Java Web项目

手工部署Java Web项目 Tomcat 一个开源的且免费的 Java Web 服务器,常用来作为 web 开发的工具.它可以托管由 servlet,JSP 页面(动态内容),HTML 页面,javascript,样式表,图像(静态内容)组成的 Java Web 应用程序. 此外,将来随着业务的扩展,您可以利用阿里云强大的产品平台,平滑地横向和纵向扩展服务容量,例如: 扩展单个 ECS 实例的 CPU 和内存规格,增强服务器的处理能力. 增加多台 ECS 实例,并利用负载均衡,在多个实例中进行

Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目

原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个java web项目 Spring MVC+Spring+Hibernate结构介绍如下: Spring MVCSpring MVC的职责是作为web层框架,实现了我们常见的MVC模式 SpringSpring 作为服务层,利用自身特性IOC.AOP,提供数据从DA

使用IntelliJ IDEA 14和Maven创建java web项目

原文:使用IntelliJ IDEA 14和Maven创建java web项目 http://mark.leanote.com/post/%E4%BD%BF%E7%94%A8IntelliJ-IDEA-14%E5%92%8CMaven%E5%88%9B%E5%BB%BAjava-web%E9%A1%B9%E7%9B%AE 安装Maven 下载安装 去maven官网下载最新版. 解压到安装目录. 配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该

详解CentOS安装tomcat并且部署Java Web项目_Linux

1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b.因为tomcat的安装依赖于Java jdk,所以我们需要在判断linux系统下面是否安装jdk b.1 使用(Xshell)连接到Linux系统下面 b.2 输入命令:java -version,如果显示jdk版本号,则证明已经安装,如果不显示,则证明没有安装,如果没有安装,请参考下面地址进行安装:http://

java web项目 目录结构

问题描述 从别人那里copy了一个java web项目.但是这个项目的目录结构和我之前见过的都不一样.结构是这样的.项目名称:|-.settings|-JavaSource|-WebContent|-test|-.copyarea.db我想把这个项目导入到MyEclipse中,但是无法导入.好像提示找不到.project.最后我自己建立了一个web工程.把项目中的内容都copy进去 这样就可以了.这是为什么呢?我见过的web项目都是这样的结构:|-.myeclipse|-.settings|-.

Java web项目为什么要单独配置环境变量?

问题描述 Java web项目为什么要单独配置环境变量? Spring的配置文件中的代码如下: class=""org.springframework.beans.factory.config.PropertyPlaceholderConfigurer""> 在运行项目的时候需要配置环境变量之后才能运行,这事为什么呢?希望大神们可以帮我解惑一下,谢谢! 解决方案 这不是配置环境变量 写xxx.properties文件 是为了方便以后项目完成后,在不改变源码的情