虛擬主機 出去ip 跟進來ip 不一樣用php curl測試

測試端
ip-t.php
<?php
//請另存成ip-t.php 然後上傳server網路上跑,會送去ip.php看 進與出的IP
//init curl
$ch = curl_init();
//curl_setopt可以設定curl參數
//設定url
curl_setopt($ch , CURLOPT_URL , “https://yourdomain.com/ip.php");
//設定header
curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-type: application/x-www-form-urlencoded’));
//啟用POST
curl_setopt($ch, CURLOPT_POST, true);
//傳入POST參數
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( array( “name"=>"johnson") ));
//執行,並將結果存回
$result = curl_exec($ch);
//關閉連線
curl_close($ch);
?>

接收端
ip.php
<?php
echo $_SERVER[“HTTP_REFERER"];
echo ‘<br>’;
//echo $_SERVER[‘HTTP_X_FORWARDED_FOR’];
//echo ‘<br>’;
echo $_SERVER[‘REMOTE_ADDR’]; //使用者出去的ip
echo ‘<br>’;
echo $_SERVER[‘SERVER_ADDR’]; //進來的ip
?>

使用情境:
因為有時候會需要由server發向另一台主機程式
而另一台總是擋掉ip 才發現虛擬主機給的ip 只是進去,發出的ip是不同的
原理:
而使用者 如果用$_SERVER[‘REMOTE_ADDR’]; 去看 只會看到使用者自己電腦的IP,
所以需要用server主機 使用curl模擬post出去 就會是server端送出了。

wordpress http強制轉https wordpress http force to https

找到 .htaccess 檔案 加入下列兩行 程式

插入於RewriteEngine On 跟 RewriteBase / 之間

 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

用.htaccess 讓網站只允許固定IP瀏覽

有時候我跟大家一樣,不一定都是主機高手,只是會寫簡單網頁程式的小弟弟

什麼允許IP、限制IP 實際怎麼做阿~~~根本不會

但還是常常要測試,測試期間又不想給外人看到,

然後架兩個環境或是設定IP指向又嫌麻煩

我這邊用簡單的方式

做一個.htaccess檔案 丟上該網站的根目錄 (apache php)

deny from all 禁止所有人訪問瀏覽

allow from xxx.xxx.xxx.xx 允許這個IP訪問

下方範例是 禁止所有訪問 並且 只有兩個IP能訪問

deny from all
allow from 999.999.122.153
allow from 203.99.999.66