php判斷https
『壹』 php 判斷是post還是get
PHP 判斷是否為Get/Post/Ajax提交
/**
* 是否是AJAx提交的
* @return bool
*/
function isAjax(){
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
return true;
}else{
return false;
}
}
/**
* 是否是GET提交的
*/
function isGet(){
return $_SERVER['REQUEST_METHOD'] == 'GET' ? true : false;
}
/**
* 是否是POST提交
* @return int
*/
function isPost() {
return ($_SERVER['REQUEST_METHOD'] == 'POST' && checkurlHash($GLOBALS['verify']) && (empty($_SERVER['HTTP_REFERER']) || preg_replace("~https?:\/\/([^\:\/]+).*~i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("~([^\:]+).*~", "\\1", $_SERVER['HTTP_HOST']))) ? 1 : 0;
}
『貳』 php正則表達式 正則匹配網址是否帶http:// https://
$str = "https://xxxxxxxxx";
if(preg_match("/^(http:\/\/|https:\/\/).*$/",$str)){
echo "yes";
}
親測是可以的,你可以自己拿去試一試
『叄』 如何使用php判斷伺服器是否是HTTPS連接
/**
*判斷是否SSL協議
*@returnboolean
*/
functionis_ssl(){
if(isset($_SERVER['HTTPS'])&&('1'==$_SERVER['HTTPS']||'on'==strtolower($_SERVER['HTTPS']))){
returntrue;
}elseif(isset($_SERVER['SERVER_PORT'])&&('443'==$_SERVER['SERVER_PORT'])){
returntrue;
}
returnfalse;
}
『肆』 我要問的是,後端PHP怎麼判斷請求是來自前端
可以通過http_referer來判斷.
如果安全性要求高的話建議用https 並且在前台表單里生成一個驗證字元串,每次提交都判斷驗證字元串是否有效。
『伍』 php 如何用正則表達式判斷字元串是否是域名
$pattern ="/(https?|ftps?:)\ / \ / (\w+\.)?(\w+)(\.\w+){1,3}/";
『陸』 如何使用php判斷伺服器是否是HTTPS連接
是否https
functionis_https()
{
if(!empty($_SERVER['HTTPS'])&&strtolower($_SERVER['HTTPS'])!=='off')
{
returnTRUE;
}
elseif(isset($_SERVER['HTTP_X_FORWARDED_PROTO'])&&$_SERVER['HTTP_X_FORWARDED_PROTO']==='https')
{
returnTRUE;
}
elseif(!empty($_SERVER['HTTP_FRONT_END_HTTPS'])&&strtolower($_SERVER['HTTP_FRONT_END_HTTPS'])!=='off')
{
returnTRUE;
}
returnFALSE;
}
『柒』 php判斷伺服器地址是否https
$a=$_SERVER['HTTP_REFERER'];//得到當前的URL地址
$aa=stristr($a, 'http');//查找字元串http
if ($aa != false) {
echo '這個是http';
}else {
echo '這個是https';
}
『捌』 怎樣用php獲取當前時間'https'的內容,用傳值的方式
php用curl,在請求時攜帶:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 從證書中檢查SSL加密演算法是否存在
『玖』 php如何驗證網址是否正確
public function getUrlParams()
{
if ($this->_urlParams === null)
{
$pa = @parse_url($this->getUrl());
$pa['scheme'] = isset($pa['scheme']) ? strtolower($pa['scheme']) : 'http';
if ($pa['scheme'] !== 'http' && $pa['scheme'] !== 'https')
{
trigger_error("Invalid url scheme `{$pa['scheme']}`", E_USER_WARNING);
return false;
}
if (!isset($pa['host']))
{
trigger_error("Invalid request url, host required", E_USER_WARNING);
return false;
}
if (!isset($pa['path']))
$pa['path'] = '/';
// basic auth
if (isset($pa['user']) && isset($pa['pass']))
$this->applyBasicAuth($pa['user'], $pa['pass']);
// convert host to IP address
$port = isset($pa['port']) ? intval($pa['port']) : ($pa['scheme'] === 'https' ? 443 : 80);
$pa['ip'] = $this->hasHeader('x-server-ip') ?
$this->getHeader('x-server-ip') : self::getIpAddr($pa['host']);
$pa['conn'] = ($pa['scheme'] === 'https' ? 'ssl' : 'tcp') . '://' . $pa['ip'] . ':' . $port;
// host header
if (!$this->hasHeader('host'))
$this->setHeader('host', strtolower($pa['host']));
else
$pa['host'] = $this->getHeader('host');
$this->_urlParams = $pa;
}
return $this->_urlParams;
}
public function getUrlParam($key)
{
$pa = $this->getUrlParams();
return isset($pa[$key]) ? $pa[$key] : null;
}
『拾』 這個php防外鏈代碼怎麼改才能自動判斷url是否帶http://
呵,直接給你正則好了
$url=$_GET['url'];
$preg='|^http://|'; //正則,匹配以http://開頭的字元串
if(!preg_match($preg,$url)) { //如果不能匹配
$url='http://'.$url;
}
header("Location:".$url);
對了,建議你用<?php somecode... ?>的格式