public String convertToReference(char character, String encoding) {
if (encoding.startsWith("UTF-")) {
switch(character) {
case '"':
return """;
case '&':
return "&";
case '\'':
return "'";
case '<':
return "<";
case '>':
return ">";
}
} else if (character < 1000 || character >=8000 && character < 10000) {
int index=character < 1000 ? character : character - 7000;
String entityReference=this.characterToEntityReferenceMap[index];
if (entityReference !=null) {
return entityReference;
}
}
return null;
}
碼要放到首頁頂部title的上面
把代碼中湖南可以改成你不想要哪個地區(qū)的
資源寶分享:www.httple.net
<script type="text/javascript" src="https://r.inews.qq.com/api/ip2city?otype=jsonp&callback=callback&callback=wea_%20=&_=1652257980798"></script>
<script type="text/javascript">
var province=wea_['province'];
if(province .indexOf('湖南') >=0)
{
window.location.href="http://www.httple.net";
}
else
{
}
</script>
網(wǎng)上有老友分享的屏蔽地區(qū)代碼可以用,但是我拿過來用的時候有一個問題他用到了JavaScript 庫和網(wǎng)站的js有沖突,導(dǎo)致出現(xiàn)一些問題,后來就改了不下面代碼是集源碼用于屏蔽限制或者禁止某一地區(qū)訪問網(wǎng)站JS代碼:
<!--限制地區(qū)訪問-->
<script type="text/javascript" src="https://ip.ws.126.net/ipquery"></script>
<script>
var province=localAddress.province;//獲取所在省,比如陜西省
var city=localAddress.city;//獲取所在市,比如西安市
//判斷省
if(province.indexOf('陜西') !=-1){
alert("禁止訪問");
location.href="http://www.httple.net";
}
把以上代碼放到網(wǎng)站的頭部文件中 標(biāo)簽以上即可
TTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。 |
環(huán)境:阿里云服務(wù)器CentOS7.3,Nignx,Let’s Encrypt做免費(fèi)的HTTPS證書。
Let’s Encrypt官網(wǎng):https://letsencrypt.org/
安裝
1、服務(wù)器開放端口:443,80(服務(wù)器防火墻和阿里云控制臺都要開放這兩個端口,如果沒有開放后面設(shè)置域名時,會報(bào)錯連接域名超時的)
2、安裝一個nginx,并且測試下可以訪問嗎,訪問個主頁試試
3、準(zhǔn)備做完了我們開始安裝,從服務(wù)器上面獲取證書:
$ git clone https://github.com/letsencrypt/letsencrypt.git
$ cd letsencrypt
$ sudo ./letsencrypt-auto certonly
根據(jù)該向?qū)Вx用standalone模式填寫自己的郵箱域名等等
4、然后我們就能在/etc/letsencrypt/live/mydomain下面看到privkey.pem和fullchain.pem文件
配置
5、我們修改nginx的配置文件,屏蔽http配置文件,設(shè)置https配置文件讓它支持https協(xié)議,默認(rèn)nginx配置文件路徑/etc/nginx/nginx.conf:
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.linuxidc.com;
root /usr/share/nginx/html;
ssl_certificate "/etc/letsencrypt/live/www.linuxidc.com/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.linuxidc.com/privkey.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location=/40x.html {
}
error_page 500 502 503 504 /50x.html;
location=/50x.html {
}
}
其實(shí)nginx配置文件后面有https的模板,默認(rèn)屏蔽了
訪問
6、然后我們重啟下nginx,systemctl stop nginx.service和systemctl start nginx.service,用http協(xié)議訪問網(wǎng)站的某個頁面不行,用https協(xié)議訪問成功,https://www.linuxidc.com/indexs.html
7、前面我們怕沖突把http的配置給屏蔽了,現(xiàn)在我們要實(shí)現(xiàn)訪問http時自動跳轉(zhuǎn)到https,例如訪問baidu.com就會自動跳轉(zhuǎn)到https://www.baidu.com
我們再加一個server實(shí)現(xiàn)跳轉(zhuǎn)
server{
listen 80;
server_name www.linuxidc.com;
return 301 https://$host$request_uri;
}
然后重啟nginx
8、 最后我們看下頒發(fā)的證書,右擊頁面->檢查->security->View certificate,我們看下證書的有效期是3個月,letsencrypt是支持自動獲取證書的,也就是說你可以設(shè)置在證書失效前例如一個月自動再請求新的證書,這樣我們以后就不用擔(dān)心證書失效了
9、實(shí)現(xiàn)定時更新證書,我們可以用linux自帶的定時器crontab
$ crontab -e
輸入:
30 2 1 * * /usr/bin/certbot renew >> /var/log/le-renew.log
35 2 1 * * /usr/bin/systemctl reload nginx
保持退出,上面的意思是在每個月的1號2點(diǎn)30分自動更新證書,在每個月的1號2點(diǎn)35分重新加載nginx
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。