php允許跨域
⑴ php可不可以跨域設置cookie(只有一個網站是我做的情況下)
單純用COOKIE不行~
你可以在b.com與a.com之間寫一個驗證程序,讓b.com去訪問a.com的驗證程序,如果a.com中堅持到設置了cookie,那麼就讓a.com返回一個特定的值給b.com,然後b.com就在自己的程序裡面寫出一個cookie。
⑵ PHP跨域獲取json數據的方法,PHP裡面有沒有類似ajax的函數
php中的文件讀寫函數基本上都可直接支持url,也就是說你可以像操作本地文件一樣直接操作其他網站的文件(當然只是讀取,寫入是不可能的),而且沒有任何跨域限制,比如下面一行代碼就可直接讀取網路首頁的html代碼:
$bd=file_get_contents("http://www..com");
如果想獲取json數據,只需把網址換一下即可。當然,還需要做一下格式轉換,php本身就有專門的json轉換函數:
$json=json_decode(file_get_contents("網址"),true);
這樣一看,是不是比前端的ajax還要簡單百倍?!
⑶ PHP如何實現跨域傳遞參數
通常是用json,你可以用php的函數json_encode(),轉換為json格式,然後輸出進行傳遞
⑷ php跨域問題(cors)
ajax跨域需要用jsonp方式的,
php跨域 這個你可以用curl,
至於你那個 自己用debug看下吧!
⑸ PHP的跨域問題怎麼跨
伺服器端PHP跨域一般沒有限制,不像瀏覽器端有same origin policy。
把伺服器B中的代碼封裝一下,確定好輸入和輸出,比如輸入是一個HTTP Request,參數POST過去;輸出是從HTTP Response返回一段XML。之後在伺服器A的代碼中做一個對伺服器B的HTTP請求並處理返回的XML就好了
⑹ PHP 設置跨域 域名cookie
理論上php不可以跨域設置cookie;
php設置cookie流程:返回的信息攜帶信息,然後靠瀏覽器來執行寫入到cookie,一般瀏覽器安全機制已經限制跨域寫入;
如果你想偽造cookie,可以使用瀏覽器管理cookie的插件
⑺ php跨域cookie共享使用方法
這篇文章主要介紹了php跨域cookie共享使用方法,需要的朋友可以參考下
A
機器所在的域:a1.main.com,A
有應用
main.php
B
機器所在的域:b1.test.com,B
有應用
test.php
1.在
main.php
里設置
cookie
的時候,
cookie
的設置方法如下:
代碼如下:
setcookie(
"TestCookie",
"okol",
time()
+
3600,
"/",
"b1.test.com",
1
);
這樣在
test.php
里就可以取到
cookie
。
2.輸入
url
訪問
test
的時候,必須輸入域名才能解析。
比如輸入:
http://b1.test.com/test.php
,可以獲取
cas
在客戶端設置的
cookie
,
而
B
機器訪問本機的應用,輸入:
http://localhost:8080/test.php
則不可以獲得
cookie
⑻ PHP跨域上傳的幾種方法
方法一:
文件夾:/home/web/attachments
虛擬二級目錄到/home/web/zxsv/下(支持同區域網的伺服器)
這樣多個子域名進行上傳的設計時,只需要attachments目錄映射為相關的域名的二級目錄,這樣就可實現多個子域名共享一個附件伺服器了,這種方法最好是用區域網中的附件伺服器,這樣流量是分開的,當然訪問附件的域名是apache,ngixn,IIS等的虛擬二級目錄就不說了,好處是現有程序不做任何修改,唯一壞處就是兩台伺服器必須在一個區域網中,當然你用單台也就沒這個問題了
方法二:ftp同步更新
PHP是支持FTP的,給個FTP類裡面(不是我寫的,只是加了個建立多級目錄),自己看著辦吧,上傳後調用FTP類,同步到FTP伺服器中,好處是現有程序只需要在上傳那段加上FTP上傳就行了,壞處就是一定要支持FTP
<?php
$ftp=new Ftp;
//print_r($ftp->nlist(」"));
$ftp->makedir(」3″);
//$ftp->put(」comment.php」,」1.txt」);
$ftp->bye();
//R FTP 處理;
class ftp {
var $ftpUrl = 『www.zxsv.com』;
var $ftpUser = 『zxsv』;
var $ftpPass = 『111111′;
var $ftpDir = 『/zxsv/』;
var $ftpR = 」; //R ftp資源;
var $status = 」;
//R 1:成功;2:無法連接ftp;3:用戶錯誤;
function ftp() {
if ($this->ftpR = ftp_connect($this->ftpUrl, 21)) {
if (ftp_login($this->ftpR, $this->ftpUser, $this->ftpPass)) {
if (!empty($this->ftpDir)) {
ftp_chdir($this->ftpR, $this->ftpDir);
}
ftp_pasv($this->ftpR, true);//R 啟用被動模式;
$status = 1;
} else {
$status = 3;
}
} else {
$status = 2;
}
}
//R 切換目錄;
function cd($dir) {
return ftp_chdir($this->ftpR, $dir);
}
//建立目錄
function mkdir($dir){
return ftp_mkdir($this->ftpR, $dir);
}
function makedir($dir) {
if(!$dir) return 0;
$dir = str_replace( 「\\」, 「/」, $dir );
$mdir = 「」;
foreach(explode( 「/」, $dir ) as $val ) {
$mdir .= $val.」/」;
if( $val == 「..」 || $val == 「.」 ) continue;
if(!@mkdir($mdir)){
echo 「創建目錄 [".$mdir."]失敗.」;
//exit;
}
}
return true;
}
//刪除目錄
function rmdir($dir){
return ftp_rmdir($this->ftpR, $dir);
}
//R 返回當前路勁;
function pwd() {
return ftp_pwd($this->ftpR);
}
//R 上傳文件;
function put($localFile, $remoteFile = 」) {
if ($remoteFile == 」) {
$remoteFile = end(explode(』/', $localFile));
}
$res = ftp_nb_put($this->ftpR, $remoteFile, $localFile, FTP_BINARY);
print_r($res);
while ($res == FTP_MOREDATA) {
$res = ftp_nb_continue($this->ftpR);
}
if ($res == FTP_FINISHED) {
return true;
} elseif ($res == FTP_FAILED) {
return false;
}
}
//R 下載文件;
function get($remoteFile, $localFile = 」) {
if ($localFile == 」) {
$localFile = end(explode(』/', $remoteFile));
}
if (ftp_get($this->ftpR, $localFile, $remoteFile, FTP_BINARY)) {
$flag = true;
} else {
$flag = false;
}
return $flag;
}
//R 文件大小;
function size($file) {
return ftp_size($this->ftpR, $file);
}
//R 文件是否存在;
function isFile($file) {
if ($this->size($file) >= 0) {
return true;
} else {
return false;
}
}
//R 文件時間
function fileTime($file) {
return ftp_mdtm($this->ftpR, $file);
}
//R 刪除文件;
function unlink($file) {
return ftp_delete($this->ftpR, $file);
}
function nlist($dir = 『/service/resource/』) {
return ftp_nlist($this->ftpR, $dir);
}
//R 關閉連接;
function bye() {
return ftp_close($this->ftpR);
}
}
?>
⑼ php什麼是跨域,怎麼解決跨域問題
伺服器端PHP跨域一般沒有限制,不像瀏覽器端有same origin policy。
把伺服器B中的代碼封裝一下,確定好輸入和輸出,比如輸入是一個HTTP Request,參數POST過去;輸出是從HTTP Response返回一段XML。之後在伺服器A的代碼中做一個對伺服器B的HTTP請求並處理返回的XML就好了
⑽ react fetch 跨域怎麼解決
以下是php部分的允許跨域域名訪問的設置
$origin = isset($_SERVER['HTTP_ORIGIN'])?$_SERVER['HTTP_ORIGIN']:''; $allowOrigin = [ 'http://www.xxx.com', 'http://xxx.com'
]; if (in_array($origin, $allowOrigin)) {
header('Access-Control-Allow-Origin: ' . $origin);
}
header('Access-Control-Allow-Methods: PUT,POST,GET,DELETE,OPTIONS');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: Content-Type, Accept');
以下是fetch部分的ajax請求
let postData = {a:'b'};
fetch('http://data.xxx.com/Admin/Login/login', {
method: 'POST',
mode: 'cors',
credentials: 'include',
headers: { 'Content-Type': 'application/x-www-form-urlencoded'
},
body: JSON.stringify(postData)
}).then(function(response) {
console.log(response);
});