$_SERVER['HTTP_REFERER'] & $HTTP_SERVER_VARS['HTTP_REFERER']這兩個變數,是用來存放使用端瀏覽器存取上一頁面的URL資訊,如果不存在上一頁的URL,則這兩個變數不存在。
應用:
檢查訪客必須是由某個URL連入,否則無法存取資料。
安全上的問題:
1.在存取這兩個變數前最好使用isset()來確定變數是存在的。
2.HTTP_REFERER是由用戶端的瀏覽器軟體所傳送的,所以有可能被竄改,會有安全上的疑慮。
參考文件:http://tw2.php.net/manual/en/reserved.variables.server.php
2008年12月23日 星期二
2008年12月19日 星期五
PHP 中 include 和 require 的差異
include 引入檔案失敗時或所引入檔案執行錯誤時,程式不會停止執行,產生一個 Warning訊息
require 引入檔案失敗時或所引入檔案執行錯誤時,程式會停止執行,傳回Fatal error訊息
參考文件:http://tw2.php.net/include/
require 引入檔案失敗時或所引入檔案執行錯誤時,程式會停止執行,傳回Fatal error訊息
參考文件:http://tw2.php.net/include/
2008年12月17日 星期三
.rhosts 和 hosts.equiv 的差異
~.rhosts 和 /etc/hosts.equiv 都是設定 rlogin 的信任關係但之間還是有些許差異,端看用途、目的有不同的使用方式
/etc/hosts.equiv:不同主機間的信任關係
~/.rhosts :同一帳號在不同主機間的信任關係
hosts.equiv 格式:
HOST USERNAME
IP USERNAME
可以用 "+" 表示所有,如 HOST + 表示從HOST 主機來的所有用戶
root 帳號必須編輯 /etc/securetty
加入 rsh rlogin
其他相關檔案
/etc/hosts.allow
/etc/hosts.deny
2008年12月16日 星期二
加速改進PHP效能的方法
以下是利用Cache或編碼的方式達到加速改進PHP效能的方法
1.PHP PECL extension - APC(Alternative PHP Cache)
http://pecl.php.net/package/APC
2.PHP PECL extension - memcache
http://pecl.php.net/package/memcache
3.memcached (使用記憶體)
http://www.danga.com/memcached/
4.JPCache (使用網頁壓縮技術)
http://www.jpcache.com/
5.Turck MMCache
http://turck-mmcache.sourceforge.net/
6.eAccelerator
http://eaccelerator.net/
7.The ionCube PHP Accelerator
http://www.php-accelerator.co.uk/
8.Zend Optimizer
http://zend.com/store/products/zend-optimizer.php
1.PHP PECL extension - APC(Alternative PHP Cache)
http://pecl.php.net/package/APC
2.PHP PECL extension - memcache
http://pecl.php.net/package/memcache
3.memcached (使用記憶體)
http://www.danga.com/memcached/
4.JPCache (使用網頁壓縮技術)
http://www.jpcache.com/
5.Turck MMCache
http://turck-mmcache.sourceforge.net/
6.eAccelerator
http://eaccelerator.net/
7.The ionCube PHP Accelerator
http://www.php-accelerator.co.uk/
8.Zend Optimizer
http://zend.com/store/products/zend-optimizer.php
PHP bytecode Compiler
bcompiler是PHP PECL中的extension,可用來加密PHP原始碼
安裝方式
1.bcompiler必須使用 bzip2 的模組,安裝前確定已經載入。
2.下載bcompile
http://pear.php.net/get/bcompiler
3.解開 bcompiler-xxx.tar.gz
4.執行以下命令
phpize (若無此指令則先安裝 php-devel 套件)
./configure
make
make install
5.修改設定組態檔 php.ini
extension_dir=/usr/lib (或 /usr/lib64/php/modules/)
extension=bcompiler.so
6.檢查一下模組 bcompiler 及相關模組 bzip2 已經載入
php -m
安裝方式
1.bcompiler必須使用 bzip2 的模組,安裝前確定已經載入。
2.下載bcompile
http://pear.php.net/get/bcompiler
3.解開 bcompiler-xxx.tar.gz
4.執行以下命令
phpize (若無此指令則先安裝 php-devel 套件)
./configure
make
make install
5.修改設定組態檔 php.ini
extension_dir=/usr/lib (或 /usr/lib64/php/modules/)
extension=bcompiler.so
6.檢查一下模組 bcompiler 及相關模組 bzip2 已經載入
php -m
訂閱:
文章 (Atom)