0

我想将一个外部页面链接到一个新选项卡中,并将我自己的 css 应用于它,这会改变这个外部页面的总体布局。css 在另一台服务器中。

这可以做到吗?

我正在使用 php、jquery 和 Apache 服务器。

我想在我的服务器上使用 php 代理请求外部页面并添加 css 但可能,如果有解决方案,它会更有效。

谢谢!

4

4 回答 4

2

将页面下载到您的服务器,应用 CSS,然后将页面显示给用户(代理)是执行此操作的唯一方法。如果该站点不安全并且具有可以注入的漏洞,则可以使用黑帽方式进行操作..但我怀疑这里是否有人会给您一种令人讨厌的方式来做到这一点+一旦被发现没有怀疑它会恢复到原来的 css 并修补漏洞。

如果可能,请考虑安全风险。这些天 CSS 非常强大,想象一下如果您可以更改 google.com 上的 CSS - Fun Times :D

于 2013-01-08T14:45:41.470 回答
1

不,它不能以代理以外的方式完成。

于 2013-01-08T14:43:30.430 回答
1

将 CSS 注入嵌入式 iframe(或者更一般地说,对子 iframe 执行任何操作)的能力将打开一个巨大的安全漏洞。

想象一下,您在我使用的网络邮件服务中显示一个 iframe,并对其进行大量重新设计,使我的“撰写回复”页面看起来像来自邮件服务的“确认密码”页面。当我天真地输入密码时,它会将我的密码通过电子邮件发送给受访者!

您可以通过使用浏览器插件或扩展来实现您想要的目标。访问一个网站应该需要零信任,但安装一个扩展通常确实意味着来自用户的一些信任,因此扩展比普通网页具有更大的自由度。

请注意,服务器代理获取不会发送用户的会话/身份验证 cookie,因此如果您尝试获取需要登录的站点(例如 Facebook),您将只能获取公共资源。

于 2013-01-08T14:49:03.123 回答
0

根据您想要实现的目标,可能会有更好的方法。如果您打算将它分发给许多用户broser plugin,或者可能更容易创建,则UserScript适用于Greasemonkey/ Tampermonkey 之类的插件。另一种方法是创建一个bookmarklet供用户在其浏览器栏中单击的。在这里看看这个:http: //benalman.com/projects/run-jquery-code-bookmarklet/它很容易创建。

于 2013-01-08T14:52:06.767 回答