ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: tae861 ที่ 20 มิถุนายน 2016, 14:56:20



หัวข้อ: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: tae861 ที่ 20 มิถุนายน 2016, 14:56:20
พอดีจะทำหน้าๆนึง

เว็บที่ 1

web1.com/check.html
จะทำการดึง iframe จาก
web1.com/iframe.php

แล้วก็เว็บที่ 2
web2.com/check.html
จะทำการดึง iframe จาก
web1.com/iframe.php


ว่าง่ายๆจำกัดเว็บได้ไหมที่จะสามารถเรียก file iframe.php ได้ครับ


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: tarllovemint ที่ 20 มิถุนายน 2016, 15:15:15
งง

ถ้าแบบที่เขียนมาก็ iframe ปกตินิครับ
<iframe src="web1.com/iframe.php"></iframe>


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: rapiz ที่ 20 มิถุนายน 2016, 15:20:08
ปรับจาก HTML เป็น PHP ให้หมดเลย แล้วตรวจสอบเอา

if ($i <> $b){
 echo 1;
}else{
 include("iframe.php");
}

แบบนี้จะดีกว่า ระวังเรื่อง Security ด้วยย



ฝากลายเซ็นหน่อยนะ


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: tae861 ที่ 20 มิถุนายน 2016, 15:25:33
ปรับจาก HTML เป็น PHP ให้หมดเลย แล้วตรวจสอบเอา

if ($i <> $b){
 echo 1;
}else{
 include("iframe.php");
}

แบบนี้จะดีกว่า ระวังเรื่อง Security ด้วยย





ฝากลายเซ็นหน่อยนะ

ไม่ครับอยากเรียกแบบนี้
<iframe src="web1.com/iframe.php"></iframe>

แต่อยากตรวจสอบได้ว่าที่รีกมา มาจาก web ที่อยู่ในลิสเราไหม ถ้าใ่ช่ก็แสดงข้อมูล ถ้าไม่ใช่ก็แสดง error ครับ


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: rapiz ที่ 20 มิถุนายน 2016, 15:26:31
ส่วนเรื่อง ใครจะใช้ไฟล์ใน เซฟเวอร์เราได้ก็ ประมาณ

$_CONFIG['access_ip'] = "10.10.10.10";

if($_SERVER['REMOTE_ADDR'] != $_CONFIG['access_ip']){
   die('your address is not available to access us =>' . $_SERVER['REMOTE_ADDR']);
}

เขียนลวกๆ ยังไม่ได้ลองนะคับ


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: amazegu ที่ 20 มิถุนายน 2016, 15:27:39
http://stackoverflow.com/questions/2896623/how-to-prevent-my-site-page-to-be-loaded-via-3rd-party-site-frame-of-iframe


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: rapiz ที่ 20 มิถุนายน 2016, 15:28:57
ปรับจาก HTML เป็น PHP ให้หมดเลย แล้วตรวจสอบเอา

if ($i <> $b){
 echo 1;
}else{
 include("iframe.php");
}

แบบนี้จะดีกว่า ระวังเรื่อง Security ด้วยย





ฝากลายเซ็นหน่อยนะ

ไม่ครับอยากเรียกแบบนี้
<iframe src="web1.com/iframe.php"></iframe>

แต่อยากตรวจสอบได้ว่าที่รีกมา มาจาก web ที่อยู่ในลิสเราไหม ถ้าใ่ช่ก็แสดงข้อมูล ถ้าไม่ใช่ก็แสดง error ครับ


ตรวจสอบ และวางแผน สคลิปดีๆครับ เราออกแบบ สคลิปเองได้

ส่วน iframe client side เป็นฝ่ายเรียกนะคับ ไม่ใช่ server side


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: sputtaro ที่ 20 มิถุนายน 2016, 15:49:03
น่าจะเป็นแนวนี้นะครับ


1. เช็ค ip address

2. ถ้า ip ตามข้อ 1 ตรงกับ หรือ อยู่ใน ip ที่กำหนดไว้ (จะกำหนดจาก txt ไฟล์ json mysql หรืออะไรก็แล้วแต่)
   ให้แสดง
   <iframe src="web1.com/iframe.php"></iframe>

   แต่ถ้าไม่ตรง ให้แสดง
   <iframe src="http://www.youtube.com/view?id=..."></iframe>

   หรือ แสดงเป็น
   <iframe src="http://www.ปอรกำนห.com/view?id=..."></iframe>

แนวคิดคงตามนี้ใช่ไหม ถ้าใช่ ก็ลองเปลี่ยนเป็นโค๊ดดูครับ


หัวข้อ: Re: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
เริ่มหัวข้อโดย: xvlnw.com ที่ 20 มิถุนายน 2016, 16:37:34
เช็คจาก $_SERVER['HTTP_REFERER'] ครับ

เช็คได้ระดับหนึ่งครับ หากมีการ REFERER มาจากโดเมน xxx สามารถใช้งานได้ เป็นต้น

การใช้งาน IFRAME จะต้องมี REFERER ทุกครั้งครับ, เพราะว่าการจะเรียก IFRAME ได้ ต้องเรียกหน้าเว็บมาก่อน แล้ว Client จะทำการเรียก IFRAME เพื่อแสดงผลอีกครั้ง..

โค๊ด:
// f1.php
<iframe src="f2.php"></iframe>
// f2.php
<?php
echo '<pre>';
print_r($_SERVER);
echo 
'</pre>';

แต่ก็ไม่ใช่ที่สุด เพราะว่ามันสามารถปลอม HTTP Header เพื่อเข้ามาดึงข้อมูลกันได้ครับ..

วิธีที่ป้องกันได้จริงๆ จะต้องเรียกจาก Server <=> Server ครับ

iframe เรียกแบบ Client <=> Server