利用http的referer头和Servlet隐藏JavaScript代码
1. 定义一个用于输出JavaScript代码 的Servlet类。
package com.mycompany.response.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HideJavaScript extends HttpServlet {
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("text/javascript;charset=UTF-8");
PrintWriter out = response.getWriter();
String referer = request.getHeader("referer");
if(!(referer==null)&&!referer.equalsIgnoreCase("")&&referer.startsWith("http://localhost:8080/response/"))
{
out.println("document.write('这些就是隐藏的JavaScript代码!')");
out.println("window.alert('执行了此代码!')");
}
&n
相关文档:
技术的js的replace默认只替换第一个,这不知道哪个设计的,如果我是 A / B / C / D 的字符串要变成 A-B-C-D 就要在被转内容使用后加/g,因为又带了/,加上各空格,在replace 的第一个参数应该是
var rut = /\/ /g;
然后
replace(rut, "-"); ......
<!--JavaScript 调用客户端应用程序-->
<script type="text/javascript">
function exec(command)
{
window.oldOnError = window.onerror;  ......
<script language="javascript">
function closeOpen(Panel) {
var test = document.getElementById('Panel');
if (test.style.display == "none") {
&nb ......
最近一直为此头痛,姑且把我能想到的东西都写出来吧。由于不是简单把页面上手写的script转为javascript添加,我们需要考虑的东西主要有两个:加载的顺序,加载前后脚本的运作。
先说第一个,假如我们已有一加载机制了,要加载一个新模块,当然新模块是在另一个JS文件中。这时,我们可以描述为:
loader ---> a.js
这个加 ......