- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题以前是asked and answered正确,但似乎没有发布解决方案。
如果一个站点有 iframe,并且想要防止它们被包含在来自不同域的框架中,那么简单的 frame-busting 将没有用:
<script>if (top != self) top.location = location</script>
但是,由于到其他域的跨框架脚本应该会产生异常,所以像这样的东西在 iframe 中似乎工作得很好:
<script>
try {
if (window.document.domain != top.document.domain) { // throws exception
throw "You naughty puppy!"; // Should not ever get here, right?
}
}
catch () {
top.location = "/error/naughtypuppy";
}
</script>
上面的 if
本身就足以防止 iframe 的跨域框架。它应该只返回 false
或抛出异常,那么脚本是否可以到达浏览器中的 throw
语句?
这是否足以防止仅来自其他域的框架?
<script>
try {
var bogus = top.document.domain;
}
catch () {
top.location = "/error/naughtypuppy";
}
</script>
编辑:此处暗示了一种类似的解决方案,但不会依赖父框架来包含框架破坏代码。 Detect when iframe is cross-domain, then bust out of it .本质上与“尝试访问其他框架并在发生异常时崩溃”的解决方案相同。
最佳答案
该代码容易受到利用“onbeforeunload”功能的一种形式的攻击。父(邪恶)页面设置一个间隔处理程序(由于域差异,它对您的代码是无懈可击的)和一个“onbeforeunload”处理程序。第二个处理程序只是更新一些全局变量(也是无懈可击的)来记录窗口“受到攻击”的事实,然后是间隔计时器(运行速度足够快,它应该能够在浏览器完成外部窗口之前激活)更新到您的 合法 URL)弹出并更新 window.location
以指向某个攻击者控制的 URL,该 URL 返回无操作 204 响应。浏览器会忘记您的 HTTP 请求,而是从间隔处理程序发起的较新事务“更新”窗口。
这是较旧的 SO 问题:Frame Buster Buster ... buster code needed
关于javascript - Frame breaking 仅跨域而不是来自同一来源的 iframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823875/
是否有效率偏好以下控制流选项之一用于循环或切换另一个? 选项 1: switch(...){ case 1: if (...) { ... } else if
我需要在某个地方修复一些 CSS,因为我的文本没有环绕,如果它是一个非常长的单词,它会无限期地继续下去。 在大多数情况下,我在我的 CSS 文件中尝试了 word-wrap: break-word;
这个问题在这里已经有了答案: What is the difference between "word-break: break-all" versus "word-wrap: break-word
我的问题: overflow-wrap: break-word 和 word-break: break-word 有区别吗? 非重复: 这里有一些现有的问题,乍一看可能是重复的,但实际上不是。 Wha
我目前想知道两者之间有什么区别。当我同时使用它们时,如果它不适合容器,它们似乎会打破这个词。但为什么 W3C 做了两种方式来做呢? 最佳答案 word-wrap: break-word 最近更改为 o
满足条件时如何跳出循环? 例如: for (i in 0..10){ if (i==3){ // equivalent of break } } 最佳答案 Q#没有中
CSS3 规范说部分支持 word-wrap:break-word; 在 Chrome 中你必须使用 word-wrap:break-all; 但是没有连字符。我正在使用 text-align:jus
我想在我的 View 列表中显示来自数据库的所有评论。但有时,评论会很长。我试图用 word-wrap:break-word 来“打破”它们,但没有结果——像这样的评论 aaaaaaaaaaaaaaa
我正在尝试将一个长 URL 放置在侧边栏中,以在表格单元格宽度的范围内中断和换行。我已将 style="word-break:break-all;" 添加到 td 和围绕文本和 URL 的 span
我有以下代码: public void post(String message) { final String mess = message; (new Thread() {
是否有 word-break: break-word 的 alternative 可以在 firefox 中使用? 在 firefox[版本 57.0] 中 在 Chrome [版本 62.0.320
在this question以及this blog ,其中提到了样式 word-break 及其值。此外,还有值 break-word 作为属于例如的东西。 自动换行类。 在最近的 VS 中 MVC
我正在尝试将文本包装在 td 中并使用以下样式 word-break:break-all 在 IE 中工作得很好,但在 Firefox 中失败,请注意这是不支持的!尝试了 http://petesbl
我正在使用“word-break: break-all”在任何字符之间插入分隔符。 但是,在 Chrome 中,它无法正常处理特定字符(例如冒号、分号、逗号),如下所示。 (我的代码笔在这里:http
它只有在我用不同的元素包裹 anchor 标记时才有效,但我正在阅读 html,所以我想将它添加为整个页面的样式。 最佳答案 我不确定你想在这里实现什么,如果你能分享一些代码片段会很好。 无论如何,我
这些看起来都是一样的,有什么区别? https://jsfiddle.net/pmuub8w1/2/ p{ word-break:normal; } p{
目前下面的代码,保持div宽度固定,换行由于break-all .Test{ float: left; margin-bottom: 2px; word-wrap:break-word; word-b
我正在使用 word-break: break-all; 并想知道如何让浏览器自动插入 hyphens ,如 MDN example 中所示. div { width: 80px; heigh
我的 html 有这种结构: content1 content2 content3 content4 content5 content6 co
我正在尝试对齐图像旁边的文本。我想考虑没有空格的长字符串。 我的css如下 .new_item { width: 100%; float: left; border-bottom: 1px solid
我是一名优秀的程序员,十分优秀!