ecshop的小总结
1
为防止非法调用自己的页面,在被包含页面加上:
if (!defined('IN_ECS')) {die('Hacking attempt'); }
2
在主动包含页面要定义define('IN_ECS', true);
3
导出页面上所有错误,error_reporting(E_ALL);如果想隐藏的话就把参数变成0
4
当前项目的根目录的定义方法如下,init/demo01.php:这行代码所在文件。需要使用绝对路径的时候就在那个页面这样定义一下即可。
define('ROOT_PATH', str_replace('init/demo01.php', '', str_replace('\\', '/', __FILE__)));
5
设置当前页面的时区
date_default_timezone_set('PRC');
6
在本页面设置php.ini使用ini_set(‘name’,‘value’);在该脚本运行时到脚本结束时生效。
7
如果打开页面后的链接是http://www.hyf.com/的话加上如下代码即可变成http://www.hyf.com/index.php
$php_self = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
if ('/' == substr($php_self, -1)) {$php_self .= 'index.php';}
8
把这段代码加载到需要过滤用户输入的页面的顶部,就可以对对用户传入的变量进行转义操作。
if (!get_magic_quotes_gpc())
{
if (!empty($_GET))
{
$_GET = addslashes_deep($_GET);
}
if (!empty($_POST))
{
$_POST = addslashes_deep($_POST);
}
$_COOKIE = addslashes_deep($_COOKIE);
$_REQUEST = addslashes_deep($_REQUEST);
}
function addslashes_deep($value)
{
if (empty($value)) return $value; }else{return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value); }}
9
让整个页面的打开新链接都要在新窗口打开只要在该页面加上<base target="_blank" />