科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道基于LAMP构架动态Web电子图像服务器

基于LAMP构架动态Web电子图像服务器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

PHP支持所有主流数据库。它是完全免费的,使用时不需要支付任何费用。本文将要搭建Web 电子相册基于Linux的完全免费的PHP技术的实现方法。本文使用操作系统:Fedora Core3.0 Linux。

作者:曹江华 来源:天极网 2008年6月25日

关键字: 网吧 网吧组网 网吧服务器架设

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  三、管理技巧

  1.Web电子相册备份和恢复

  Web电子相册自己不能备份数据,需要手工完成,备份命令:

  # tar -czvf albums.tar.gz albums

  恢复数据使用命令:

  # tar -xvzf albums.tar.gz

  2.一次上传整个文件目录

  Gallery一次允许最多上传十个图片,不过可以使用GalleryRemote.1.4.1这个工具软件实现上传整个文件目录。

  #wegt http://umn.dl.sourceforge.net/sourceforge/gallery/GalleryRemote.1.4.1.Linux.VM.bin

  #chmod +x GalleryRemote.1.4.1.Linux.VM.bin

  #./GalleryRemote.1.4.1.Linux.VM.bin #安装过程非常简单,依照安装先导即可完成。#

  使用GalleryRemote可以一次上传整个目录的图片到Web服务器。见图6。

图6 使用GalleryRemote将这个目录上传

  3. 设定 Gallery 使其可以通过动态IP访问?

  首先备份原来的配置文件:

  #cp /etc/gallery/config.php /etc/gallery/config.php_backup#

  然后使用编辑器将文件:/etc/gallery/config.php中的两行:

  $gallery->app->photoAlbumURL = "http://localhost/gallery";

  $gallery->app->albumDirURL = "http://localhost/albums";

  替换为以下内容即可。

  $gallery->app->photoAlbumURL = "/gallery";

  $gallery->app->albumDirURL = "/albums";

  Gallery是一个用php脚本语言编写的、基于Web的电子相册软件,它安装很简单,有完善的安装向导,并且提供给使用者非常直观方便的创建和管理工具。图片管理工具包括自动创建预览小图、改变图片尺寸、旋转图片、图片分类、添加图片标题和说明等。符合W3C标准的带缩略图和幻灯的静态XHTML 映射图,支持的图像格式:PNG、GIF、JPEG。图7是Garllery通过浏览器访问时的界面。

图7 通过浏览器访问的工作界面

  四、有效保护电子相册的图像版权

  每个网站所有者都在尽力美化自己的网站,使它看上去更酷、更具有吸引力,其中最常见的方法就是使用图片、标志等。但是,这也会带来一个问题,因为越漂亮、越吸引人的网站漂亮的图片等就容易被别的网站悄悄的盗用。下面我们就一起讨论如何保护自己的劳动成果。目前存在的常见问题:

  使用HTML标记IMG在自己的网站中引用网站的图片。

  从网站上复制或者下载图片,然后放在自己的网站上使用。

  完全杜绝这两种盗用行为是不现实的,但是通过技术手段可以使得这种盗用非常困难。在LinuxApache环境下,通过配置可以限制网站图片被盗用。

  1.标识需要保护的文件

  作为保护的第一步,首先需要标识出需要保护的文件,然后才能进一步对被标识的文件进行保护。在Apache配置文件中添加如下内容:

  <FilesMatch "\.(gif|jpg)">[这里添加保护限制命令]

  </FilesMatch>

  将容器命令包含在 或 等容器中,或者单独列出,不处于任何保护容器中,这样就会对网站所有文件进行保护,甚至可以存放在.htaccess文件。将该容器放在不同的位置,保护的范围机会有所不同。

  2.Referer HTTP头字段

  当用户访问Web服务器请求一个页面时,用户浏览器发送的HTTP请求中会有一个被称为HTTP请求头(HTTP Request Header)的信息,这个头信息中包含客户请求的一些信息,例如发出请求客户主机的浏览器版本、用户语言、用户操作系统平台、用户请求的文档名等,这些信息以变量名/变量值的方式被传输。

  在这些信息中,Referer字段对于实现防止图片盗用非常重要。Referer字段指定客户端最后一个页面的URL地址。例如,如果用户访问页面A,然后点击在页面A上到页面B的链接,访问页面B的HTTP请求会包括一个Referer字段,该字段会包括这样的信息“这个请求是来自于页面A”。如果一个请求不是来自于某个页面,而是用户通过直接在浏览器地址栏输入页面A的URL地址的方式来访问页面A,那么在HTTP请求中则不会包括Referer字段。这样对于我们防止盗链有什么帮助呢?Referer字段是帮助判断对图像的请求是来自自己的页面,还是来自其它网站。

  3.使用SetEnvIf对图像进行标记

  作为一个简单的例子,假设需要保护的网站的主页面为http://my.apache.org,这时候希望限制所有不是源于本网站的网络访问请求(例如只允许访问包含在本网站页面内的图片)。这里可以使用一个环境变量作为一个标记,如果条件满足时就设置该变量,如下所示:

  SetEnvIfNoCase Referer "^http://my\.apache\.org/" local_ref=1

  当Apache处理一个请求时,它会检查HTTP请求头中的Referer字段,如果该请求来源于本网站(也就是请求页面的URL为本网站域名),则设置环境变量local_ref为1。

  4.在访问控制中使用环境变量

  Apache配置文件中的Order、Allow和Deny命令可以实现对文档的基于环境变量的访问控制,使用Order、Allow和Deny命令首先要考虑的是Allow和Deny命令的顺序对于Apache处理结果的影响,应该以下面的方式使用:

  Order Allow,Deny

  这里表示Apache首先处理该HTTP请求相关的Allow命令,然后处理相关的Deny命令。这种处理方式的默认策略是Deny,所以除非有明确的允许的设置,否则该请求就会被拒绝,任何非法访问将无法成功。

  因此,在Apache的配置文件httpd.conf中添加如下命令,来实现本地引用发挥作用:

  Order Allow,Deny

  Allow from env=local_ref

  这样只有在local_ref变量被定义的情况下,该请求才会被允许;否则其它所有请求和访问将会被拒绝,因为这些请求不满足Allow条件。

  注意,请不要在.htaccess和httpd.conf中使用 容器命令,这里不需要该容器命令,除非有特殊的需求,例如希望Get请求和Post请求进行不同的处理。 把这些相关设置放在一起,在Apache的配置文件中就会有如下内容:

  SetEnvIfNoCase Referer "^http://my\.apache\.org/" local_ref=1

  <FilesMatch "\.(gif|jpg)">

  Order Allow,Deny

  Allow from env=local_ref

  </FilesMatch>

  配置可以存放在服务器配置文件httpd.conf中,或者存放在.htaccess文件中,最后的效果是一样的:在这些命令作用的范围内,只有从本网站引用的图片才可以被访问。

  5.对图片进行水印处理

  当一位作者耗费心血创造了一件数码作品,并将其运用于信息网络中,而非法使用者可以很方便地得到与原作一模一样的拷贝,并可任意进行伪造和篡改,而合法用户却很难证明自己对作品的所有权,更无法确认伪造和篡改的程度,也就无法通过法律武器 保护自己的权益。浏览者在非法网站直接访问非法的图片,而合法网站的版权受到侵害,却得不到赔偿,甚至无法发现这种盗用。因为Web的工作方式对这种类型的盗用实际上无法被阻止,但是可以使得这种盗用更加困难。完全杜绝这种盗用行为是不现实的,但是通过技术手段可以使得这种盗用非常困难。一个数字图片进行水印处理是指在图片中加入一个特殊的签名编码,并且可以进行验证和检测,数字水印并不会降低图片的质量,甚至可以实现图像被切割以后的剩余部分仍然会包括水印信息。图片被再次编辑、打印,并再次扫描以后,水印仍然可以被检测到。因此,水印技术是一个非常好的保护图片不被盗用的技术。这是将特制的不可见的数字标记隐藏在数字产品中,用以证明原创作者对作品的所有权,并作为起诉非法侵权者的证据,从而保护作者的合法权益。数字产品包括图像、声音、文档、视频信息等等。下面介绍一个加上数字水印的过程。假设有一幅数码摄影图像,

  使用GIMP打开欲添加水印的图片,选好添加水印的位置。如果添加水印是为防止图片被盗用,那么水印最好与图片主要内容部分相混合,这样可以增大防盗用的难度。如果只是作为自己的签名,那么通常放在图片的边缘,只要签名清晰即可。选择GIMP工具箱中的文字工具,这时光标就会变为文字编辑样式。单击欲添加水印的位置就会出现文字对话框,该对话框上部可以设置添加文本的字体、样式和大小,最后在预览文本框中加入水印文字,这时图片上就会出现预览中键入的文字,并且为选区文字,此时可以自由移动该文字的位置,文字位置确定后就不可以移动了。接下来打开GIMP图像窗口选单,选择“对话框/图层、通道和路径”选项,在打开的图层、通道和路径对话框中选中文本图层,单击新建图层按钮将文本作为一个单独的图层。选中文本图层,并调节该层的Alpha(不透明)值为6~50之间,这时该图片的水印效果就出来了。另外为自己的杰作加上水印,就像画家要为自己的作品加上签名一样。见图8。

图8 添加水印的电子相册

  目前基于Gallery Web服务器的电子相册已经应用于在香港、澳门、台湾以及国外许多博客网站。它是一个用php编写的、基于Web的电子相册软件,它安装很简单,有完善的安装向导,并且提供给使用者非常直观方便的创建和管理工具。图片管理工具包括自动创建预览小图、改变图片尺寸、旋转图片、图片分类、添加图片标题和说明等等。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章