利用网页内嵌Frame来盗链和流量导入比较常见,也可以用于XSS攻击,如果中招的话,可以通过设置 X-Frame-Options到HTTP响应头来解决。解决方法只对支持X-Frame-Options的浏览器有效。
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
使用HTTP 响应头信息中的设置 X-Frame-Options属性
使用 X-Frame-Options的属性参数:
DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM:表示该页面可以在指定来源的 frame 中展示。
如果你自己不用frame也要防止别人用frame可以设置为DENY,如果你自己用frame但要防止别人用frame可以设置为SAMEORIGIN
Read more…
一直使用SharePoint Server标准版,现在需要增加部分企业版本的功能和增加使用人数,然后通过图形界面进行许可证升级,图形界面切换可以参考以下
http://blog.csdn.net/shelleyliu0415/article/details/49278135
升级完成后部分服务器比如microsoft office web apps server貌似许可证有问题,用户依旧受限提示“Sorry, you don’t have a license to use XXX”。
查询Technet后得知SharePoint Server 2013 标准版切换为企业版除了使用升级工具升级外,可以直接使用cmdlet进行许可证升级和切换。
配置完企业版本的License后,重启mowas服务和IIS,问题解决。
Read more…
VMware ESX/ESXi 虚拟硬盘精简置备与厚置备转换可以在SSH模式下使用vmkfstools命令直接进行转换。精简置备与厚置备转换涉及虚拟磁盘操作,操作时注意备份数据。
1.thin转换为thick,可以直接使用inflate模式进行转换。
vmkfstools -j thin2thick.vmdk |
vmkfstools -j thin2thick.vmdk
vmkfstools命令进行磁盘inflate
# vmkfstools -j <source-disk-name.vmdk>
-j可以替换为--inflatedisk |
# vmkfstools -j <source-disk-name.vmdk>
-j可以替换为--inflatedisk
Read more…
使用Hyper-V方案对服务器进行虚拟化实验,为了节省时间和提高安全性,安装Windows Server 2012 时直接安装成Microsoft Server 2012 Core。安装完毕后只有一个cmd命令提示符可以用。服务器管理各种不方便,考虑切换为GUI模式后再切换为Core模式。
切换GUI模式需要手动安装Windows Server的GUI组件
Server-Gui-Mgmt-Infra
Server-Gui-Shell
使用
Install-WindowsFeature
Uninstall-WindowsFeature
命令即可完成Windows功能的安装和删除
Read more…
应用程序服务器由Windows环境整体迁移到Linux环境,出现了不能获取本机IP地址的问题
原因是下面一段JAVA代码在Linux下直接返回127.0.0.1。Windows下有效的InetAddress貌似在linux下不起作用。
public static String getLocalIP() {
String ip = "";
try {
InetAddress address = InetAddress.getLocalHost();
if(address != null) {
ip = address.getHostAddress();
}
} catch (UnknownHostException e) {
e.printStackTrace();
}
return ip;
} |
public static String getLocalIP() {
String ip = "";
try {
InetAddress address = InetAddress.getLocalHost();
if(address != null) {
ip = address.getHostAddress();
}
} catch (UnknownHostException e) {
e.printStackTrace();
}
return ip;
}
原因在于Java使用的JNI代码调用的是Linux中的gethostname内核函数
这个函数在Linux主机没有绑定IP的情况下根据Host文件定义返回默认的localhost或者127.0.0.1。
Read more…
使用Jenkins配置完远程SSH服务器,发生无法连接问题,查看Log后找到
[SSH] Exception:Algorithm negotiation fail
com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:520)
at com.jcraft.jsch.Session.connect(Session.java:286)
at com.jcraft.jsch.Session.connect(Session.java:150)
at org.jvnet.hudson.plugins.SSHSite.createSession(SSHSite.java:141)
at org.jvnet.hudson.plugins.SSHSite.executeCommand(SSHSite.java:151)
at org.jvnet.hudson.plugins.SSHBuildWrapper.executePreBuildScript(SSHBuildWrapper.java:75)
at org.jvnet.hudson.plugins.SSHBuildWrapper.setUp(SSHBuildWrapper.java:59)
at hudson.model.Build$BuildExecution.doRun(Build.java:154)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1754)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Finished: FAILURE |
[SSH] Exception:Algorithm negotiation fail
com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:520)
at com.jcraft.jsch.Session.connect(Session.java:286)
at com.jcraft.jsch.Session.connect(Session.java:150)
at org.jvnet.hudson.plugins.SSHSite.createSession(SSHSite.java:141)
at org.jvnet.hudson.plugins.SSHSite.executeCommand(SSHSite.java:151)
at org.jvnet.hudson.plugins.SSHBuildWrapper.executePreBuildScript(SSHBuildWrapper.java:75)
at org.jvnet.hudson.plugins.SSHBuildWrapper.setUp(SSHBuildWrapper.java:59)
at hudson.model.Build$BuildExecution.doRun(Build.java:154)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1754)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Finished: FAILURE
Read more…
Nginx打开CHACHA20_POLY1305支持需要替换Nginx的OpenSSL库为BoringSSL或LibreSSL
具体实现替换方法请参考
Nginx替换OpenSSL为LibreSSL 请参考
https://www.lidaren.com/archives/1702
Nginx替换OpenSSL为BoringSSL 请参考
https://www.lidaren.com/archives/1705
修改nginx.conf让nginx支持CHACHA20加密算法即可
这里增加”EECDH+CHACHA20:EECDH+CHACHA20-draft:”
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
#BoringSSL 默认关闭SSLv3
ssl_protocols TLSv1 TLSv1.1TLSv1.2; |
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
#BoringSSL 默认关闭SSLv3
ssl_protocols TLSv1 TLSv1.1TLSv1.2;
Read more…
Recent Comments