用php重新创建网站
Recreating websites with php
在学校,场地上有路障。我打算撤消它。即使我不喜欢,我也喜欢这个主意。所以:我有一个php页面(source.php)来获取任何站点的源代码(没有跨站点ajax)。
<?php
echo file_get_contents(urldecode($_GET["url"]));
?>
<script>
if(document.getElementsByTagName("base")[0])
document.getElementsByTagName("base")[0].href="<?php echo $_GET["url"] ?>";
else
document.head.appendChild(document.createElement("base").href="<?php
echo $_GET["url"] ?>");
</script>
很简单。这是index.html
<html><head><title>Unblocker</title></head><body>
<div width="100%" height="10%">
<form onsubmit="return go()">
<input id="url" value="http://www.google.com/">
<input type="submit" value="Go">
</form>
</div>
<div width="100%" height="90%">
<iframe src="http://www.google.com/" width="100%" height="100%" id="frame">
</iframe>
</div></body></html>
现在javascript(要插入到head标签中)
function go(){
url=document.getElementById("url").value;
frame=document.getElementById("frame");
//do some url validations, not posting cause doesn't matter
if(url.isValid)//example
frame.contentWindow.location=location.protocol+"//"+location.hostname+"/
source.php?url="+url;
return false;//to prevent page reload
}
有两件事:首先,尽管我的意图很好,但这合法吗?此外,它会起作用吗?或者有什么明显的东西可以让它变得更好吗?我知道服务器端不能被过滤(假设这个网站没有被屏蔽!)。我知道它是非常有限的,但我可能能够扩展它,允许点击链接等等。
您打算编写一个代理。我认为你应该简单地使用http://www.phpproxy.net或者查找代理软件并将其安装在服务器上。
或者你可以继续做下去。你最终可以得到一个产品,你会学到很多关于HTTP协议和创建代理的知识。肯定比你在学校学到的还要多。
代理并不违法,但这可能违反了你的学校规则,假设他们在某个地方写下了这些规则,而且他们没有忘记代理的事情。:)
它合法吗?当然,你在浏览的每一个页面上都会看到解释过的源代码。这并不意味着你的学校不会因为你绕过了他们的防火墙而惩罚你。
它行得通吗?是和否。你会得到源代码,但很可能如果你正在查看被阻止的域,你将无法查看任何图片。您的file_get_contents正在获取图片的HTML和链接。要获得图片并替换链接,您的PHP脚本必须有些复杂。
好主意。听起来你只是想要一个代理服务器。
如果联邦调查局知道你的PHP服务器正在获取HTML,你真的认为他们会来敲你的门吗?绝对不是。各地的服务器每天都这样做,比如谷歌机器人。我想说你是清白的。
相关文章:
- 在一个javascript文件中为整个网站创建标签
- 为网站表单创建一个专业的日历
- 创建类似Facebook的按钮是'窃听'为我的网站
- 如何在标题上创建弹出框,当点击关闭按钮时,不使用jquery或php在网站中显示
- 为自定义网站创建JavaScript搜索框,创建显示搜索结果的弹出窗口
- 为网站创建图片滑块
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 使用JS和画布创建网站生成器
- 如何在网站上创建仅显示文本的简单弹出窗口
- 如何创建一个脚本,该脚本给定网站列表,它使用其搜索功能来获取信息
- 创建一个本地脚本来操作网站中的DOM元素
- 如何创建一个提示用户输入登录id和密码的网站
- 创建多语言网站
- 如何在浏览器页面切换到我的网站选项卡时创建事件,如gmail中的聊天框状态更改
- 使用IDE工具创建网站并在web服务器上进行测试
- 在 Office 365 上使用 JavaScript 创建网站集 (SharePoint Online)
- 用php重新创建网站
- 以编程方式创建网站图像
- 用Node.js创建网站
- jQuery/JS插件,为新用户创建网站介绍/展示