طريقة حظر دول او IP في بلوجر برسالة منع احترافية
الطريقة بتعتمد على JavaScript الاسكربت بيقرأ التايم زون بتاع الزائر وبيجيب عنوان IP ولو لقى ان الزائر ضمن القايمة المحظورة بتظهر رسالة تغطي الشاشة بالكامل والمستخدم مايعرفش يضغط ولا يتحرك داخل الموقع.
اولا كود رسالة الحظر HTML
الكود ده مسؤول عن شكل الرسالة اللي هتظهر للمستخدم مكان تركيبه في قالب بلوجر يكون بعد وسم <body> مباشرة يعني اول ما تلاقي <body> تحط الكود بعده على طول.
<div class="fNtf" id="cntryBlk" style="display:none;">
<div>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<circle cx="12" cy="12" r="10"></circle>
<line x1="12" x2="12" y1="8" y2="12"></line>
<line x1="12" x2="12.01" y1="16" y2="16"></line>
</svg>
<h5>الموقع غير متاح</h5>
<p>عذرا لا يمكن الدخول الى هذا الموقع من بلدك حاليا</p>
</div>
</div>
ثانيا كود CSS لتصميم رسالة المنع
الكود ده مسؤول عن الالوان والشكل والحركة مكان تركيبه داخل قالب بلوجر قبل السطر ]]></b:skin> تحطه داخل وسم style.
.fNtf{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.85);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
color:#fff;
text-align:center
}
.fNtf div{
background:#1b5a84;
padding:25px;
border-radius:10px;
max-width:420px;
width:90%;
box-shadow:0 0 15px rgba(27,90,132,0.6)
}
.fNtf svg{
width:55px;
height:55px;
stroke:#fff;
fill:none;
stroke-width:2;
margin-bottom:10px
}
.fNtf h5{
font-size:24px;
margin:5px 0
}
.fNtf p{
font-size:16px
}
ثالثا كود JavaScript للحظر بالدولة و IP
الكود ده هو عقل النظام بيفحص التايم زون و IP ولو الزائر محظور بيشغل رسالة المنع مكان تركيبه قبل وسم body المقفول مباشرة يعني قبل </body>.
<script>
document.addEventListener("DOMContentLoaded", function () {
function checkBlock(){
const blockedTimeZones = ["Africa/Cairo","Asia/Manila","Asia/Jakarta"];
const blockedIPs = ["123.123.123.123","41.45.60.70"];
const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
fetch("https://api.ipify.org?format=json")
.then(response => response.json())
.then(data => {
const userIP = data.ip;
if(blockedTimeZones.includes(userTimeZone) || blockedIPs.includes(userIP)){
const blocker = document.getElementById("cntryBlk");
if(blocker){
blocker.style.display="flex";
document.body.style.overflow="hidden";
}
}
});
}
checkBlock();
});
</script>
اماكن تركيب الاكواد داخل قالب بلوجر
- كود CSS داخل style قبل اغلاق b:skin.
- كود HTML بعد وسم body مباشرة.
- كود JavaScript قبل وسم body المقفول.
مميزات الطريقة
- حظر دول كاملة بسهولة.
- حظر IP معين.
- رسالة عربية احترافية.
- منع الضغط والحركة داخل الموقع.
- سهل التعديل واضافة دول جديدة.
تنبيه مهم لمنع الدول
الطريقة دي حظر من جهة المتصفح يعني مش حظر سيرفر كامل لو عايز حظر نهائي قوي استخدم Cloudflare او نظام الحظر من الاستضافة. ودا شكل من اشكال الدول الى ممكن تركبها وتحظرها علشان تعرف الصيغة بس:
const blockedTimeZones = [
"Africa/Cairo",
"Asia/Riyadh",
"Asia/Dubai",
"Asia/Kuwait",
"Asia/Qatar",
"Asia/Bahrain",
"Asia/Muscat",
"Asia/Baghdad",
"Asia/Amman",
"Africa/Casablanca"
];
الخاتمة:🙋 في النهاية الطريقة دي بتديك تحكم كبير في زوار موقعك وبتساعدك تمنع دول او اشخاص معينين بسهولة ومن غير اضافات خارجية ومع ان الحظر ده من جهة المتصفح لكنه كافي لاغلب الاستخدامات ولو حبيت تطور النظام مستقبلا تقدر تربطه بكلاودفلير او السيرفر علشان تعمل حظر نهائي كامل لو الشرح عجبك جرب الاكواد على موقعك وعدل القوايم على حسب احتياجك ولو عندك اي سؤال او تعديل حابه ضيفه سيبلي تعليق وانا هرد عليك فورى.
