-
cookie參數(shù)值
查看全部 -
setcookie()的比較重要的屬性
查看全部 -
緩存特性比較
查看全部 -
http兩大特性:無狀態(tài),無連接。
由于http無狀態(tài)的特性,要實(shí)現(xiàn)購物車和用戶識(shí)別等功能,需要會(huì)話控制技術(shù),而會(huì)話控制使用cookie和session技術(shù)實(shí)現(xiàn)。
查看全部 -
strtotime("+7 days")查看全部
-
php自定義session 調(diào)用方式
查看全部 -
php logout?
$_SESSION=[];
if (init_get('session.use_cookies')) {
$params = session_get_cookie_params();
setcookie(session_name, '', time()-1, $params['path'], $params['domain'], $params['secure'], $params['httponly']);
}
session_destroy();
header('location:login.php');
查看全部 -
PHP驗(yàn)證碼
查看全部 -
mysqli_connect
mysqli_set_charset
mysqli_select_db
mysqli_escape_string
mysqli_query
mysqli_num_rows
mysqli_fetch_assoc
setcookie('auth', $auth, strtotime('+7 days'))
exit('<script>alert("aaa");location.href="login.php";</script>');
查看全部 -
http特點(diǎn)查看全部
-
addfdfewf
查看全部 -
abc
查看全部 -
<?php
/**
*Cookie的設(shè)置、讀取、更新、刪除
*/
class CustomCookie{
static private $_instance = null;
private $expire = 0;
private $path = '';
private $domain = '';
private $secure = false;
private $httponly = false;
/**
*構(gòu)造函數(shù)完成Cookie參數(shù)初始化工作
*@param [array] $options Cookie相關(guān)選項(xiàng)
*/
private function __constrct(array $options = []){
$this->setOptions($options);
}
/**
*設(shè)置相關(guān)選項(xiàng)
*@param array $options ?Cookie相關(guān)選項(xiàng)
*/
private function setOptions(array $options = []){
if(isset($options['expire'])){//是否設(shè)置cookie過期時(shí)間
$this->expire = (int)$options['expire'];
}
if(isset($options['path'])){
$this->path = $options['path'];
}
if(isset($options['domain'])){
$this->domain = $options['domain'];
}
if(isset($options['secure'])){
$this->secure = (bool)$options['secure'];
}
if(isset($options['httponly'])){
$this->httponly = (bool)$options['httponly'];
}
return $this;
}
/**
*單例模式
*@param [array] $options Cookie相關(guān)選項(xiàng)
*@return object 對(duì)象實(shí)例
*/
public static function getInstance(array $options = []){
if(is_null(self::$_instance)){
$class = __CLASS__;
self::$_instance = new $class($options);
}
return self::$_instance;
}
/**
*設(shè)置Cookie
*@param string $name Cookie名
*@param mixed ?$value Cookie值
*@param array ?$options 其它選項(xiàng)
*
*/
public function set(string $name, $value, array $options = []){
if(is_array($options)&&count($options)>0){
$this->setOptions($options);
}
if(is_array($value) || is_object($value)){
$value = json_encode($value, JSON_FORCE_OBJECT);
}
setCookie($name, $value, $this->expire, $this->domain, $this->secure, $this->httponly);
}
/**
*獲取Cookie
*@param String $name Cookie名
*@return mixed ?返回一個(gè)null或者一個(gè)對(duì)象
*/
public function get(string $name){
if(isset($_COOKIE[$name])){
return substr($_COOKIE[$name], 0, 1) == '{' ? json_decode($_COOKIE[$name] : $_COOKIE[$name]);
}else{
return null;
}
}
/**
*刪除指定Cookie
*
*/
public function delete(string $name){
}
}
//測試
$cookie = CustomCookie::getInstance();
//var_dump($cookie);
$cookie->set('aa', 11);
$cookie->set('bb', 22);
$cookie->set('cc', 33, ['expire'=>time()+3600])
$cookie->set('userInfo', ['username'=>'shulv', 'age'=>22]);
//var_dump($cookie->get('userInfo'));
var_dump($cookie->get('aa'));
查看全部 -
<?php/***Cookie的設(shè)置、讀取、更新、刪除*/class?CustomCookie{ static?private?$_instance?=?null; private?$expire?=?0; private?$path?=?''; private?$domain?=?''; private?$secure?=?false; private?$httponly?=?false; /** *構(gòu)造函數(shù)完成Cookie參數(shù)初始化工作 *@param?[array]?$options?Cookie相關(guān)選項(xiàng) */ private?function?__constrct(array?$options?=?[]){ $this->setOptions($options); } /** *設(shè)置相關(guān)選項(xiàng) *@param?array?$options??Cookie相關(guān)選項(xiàng) */ private?function?setOptions(array?$options?=?[]){ if(isset($options['expire'])){//是否設(shè)置cookie過期時(shí)間 $this->expire?=?(int)$options['expire']; } if(isset($options['path'])){ $this->path?=?$options['path']; } if(isset($options['domain'])){ $this->domain?=?$options['domain']; } if(isset($options['secure'])){ $this->secure?=?(bool)$options['secure']; } if(isset($options['httponly'])){ $this->httponly?=?(bool)$options['httponly']; } return?$this; } /** *單例模式 *@param?[array]?$options?Cookie相關(guān)選項(xiàng) *@return?object?對(duì)象實(shí)例 */ public?static?function?getInstance(array?$options?=?[]){ if(is_null(self::$_instance)){ $class?=?__CLASS__; self::$_instance?=?new?$class($options); } return?self::$_instance; } /** *設(shè)置Cookie *@param?string?$name?Cookie名 *@param?mixed??$value?Cookie值 *@param?array??$options?其它選項(xiàng) * */ public?function?set(string?$name,?$value,?array?$options?=?[]){ if(is_array($options)&&count($options)>0){ $this->setOptions($options); } if(is_array($value)?||?is_object($value)){ $value?=?json_encode($value,?JSON_FORCE_OBJECT); } setCookie($name,?$value,?$this->expire,?$this->domain,?$this->secure,?$this->httponly); } /** *獲取Cookie *@param?String?$name?Cookie名 *@return?mixed??返回一個(gè)null或者一個(gè)對(duì)象 */ public?function?get(string?$name){ if(isset($_COOKIE[$name])){ return?substr($_COOKIE[$name],?0,?1)?==?'{'???json_decode($_COOKIE[$name]?:?$_COOKIE[$name]); }else{ return?null; } } /** *刪除指定Cookie * */ public?function?delete(string?$name){ }}//測試$cookie?=?CustomCookie::getInstance();//var_dump($cookie);$cookie->set('aa',?11);$cookie->set('bb',?22);$cookie->set('cc',?33,?['expire'=>time()+3600])$cookie->set('userInfo',?['username'=>'shulv',?'age'=>22]);//var_dump($cookie->get('userInfo'));var_dump($cookie->get('aa'));
查看全部 -
mysql_real_escape_string() 函數(shù)轉(zhuǎn)義 SQL 語句中使用的字符串中的特殊字符。
mysqli_escape_string?—?別名?mysqli_real_escape_string()? (可以預(yù)防數(shù)據(jù)庫攻擊)
例子 3
預(yù)防數(shù)據(jù)庫攻擊的正確做法:
<?php function?check_input($value) {//?去除斜杠if?(get_magic_quotes_gpc()) ??{ ??$value?=?stripslashes($value); ??}//?如果不是數(shù)字則加引號(hào)if?(!is_numeric($value)) ??{ ??$value?=?"'"?.?mysql_real_escape_string($value)?.?"'"; ??} return?$value; } $con?=?mysql_connect("localhost",?"hello",?"321"); if?(!$con) ??{ ??die('Could?not?connect:?'?.?mysql_error()); ??}//?進(jìn)行安全的?SQL$user?=?check_input($_POST['user']); $pwd?=?check_input($_POST['pwd']); $sql?=?"SELECT?*?FROM?users?WHERE user=$user?AND?password=$pwd"; mysql_query($sql); mysql_close($con); ?>
查看全部
舉報(bào)