ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ขอเซียน php ช่วยหน่อยครับเรื่อง ป้องกันการเรียกผ่าน iframe จากที่อื่น  (อ่าน 1470 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
tae861
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 477



ดูรายละเอียด
« เมื่อ: 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 ได้ครับ
« แก้ไขครั้งสุดท้าย: 20 มิถุนายน 2016, 14:57:48 โดย tae861 » บันทึกการเข้า
tarllovemint
ก๊วนเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 222



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 20 มิถุนายน 2016, 15:15:15 »

งง

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

rapiz
Newbie
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 81



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 20 มิถุนายน 2016, 15:20:08 »

ปรับจาก HTML เป็น PHP ให้หมดเลย แล้วตรวจสอบเอา

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

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



ฝากลายเซ็นหน่อยนะ
บันทึกการเข้า

Web Hosting,Reseller Hosting ราคาถูกเริ่มต้นแค่ 200฿ ต่อปีเท่านั้น!
VPS Linux, Windows (*ฟรี Direct Admin*) เริ่มต้นแค่ 700฿ ต่อเดือนเท่านั้น
รับเขียน Application บน Windows, Linux ด้วยทีมงานมืออาชีพ!!
สนใจ สมัครบริการด้านบน http://www.rapizhost.com
ติดต่อ 091-7733660 (24ชม.) Line ID : @rapizhost
tae861
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 477



ดูรายละเอียด
« ตอบ #3 เมื่อ: 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 ครับ
บันทึกการเข้า
rapiz
Newbie
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 81



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 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']);
}

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

Web Hosting,Reseller Hosting ราคาถูกเริ่มต้นแค่ 200฿ ต่อปีเท่านั้น!
VPS Linux, Windows (*ฟรี Direct Admin*) เริ่มต้นแค่ 700฿ ต่อเดือนเท่านั้น
รับเขียน Application บน Windows, Linux ด้วยทีมงานมืออาชีพ!!
สนใจ สมัครบริการด้านบน http://www.rapizhost.com
ติดต่อ 091-7733660 (24ชม.) Line ID : @rapizhost
amazegu
สมุนแก๊งเสียว
*

พลังน้ำใจ: 80
ออฟไลน์ ออฟไลน์

กระทู้: 875



ดูรายละเอียด
« ตอบ #5 เมื่อ: 20 มิถุนายน 2016, 15:27:39 »

http://stackoverflow.com/quest...3rd-party-site-frame-of-iframe
บันทึกการเข้า
rapiz
Newbie
*

พลังน้ำใจ: 13
ออฟไลน์ ออฟไลน์

กระทู้: 81



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 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
« แก้ไขครั้งสุดท้าย: 20 มิถุนายน 2016, 15:33:25 โดย rapiz » บันทึกการเข้า

Web Hosting,Reseller Hosting ราคาถูกเริ่มต้นแค่ 200฿ ต่อปีเท่านั้น!
VPS Linux, Windows (*ฟรี Direct Admin*) เริ่มต้นแค่ 700฿ ต่อเดือนเท่านั้น
รับเขียน Application บน Windows, Linux ด้วยทีมงานมืออาชีพ!!
สนใจ สมัครบริการด้านบน http://www.rapizhost.com
ติดต่อ 091-7733660 (24ชม.) Line ID : @rapizhost
sputtaro
สมุนแก๊งเสียว
*

พลังน้ำใจ: 139
ออฟไลน์ ออฟไลน์

กระทู้: 910



ดูรายละเอียด
« ตอบ #7 เมื่อ: 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>

แนวคิดคงตามนี้ใช่ไหม ถ้าใช่ ก็ลองเปลี่ยนเป็นโค๊ดดูครับ
« แก้ไขครั้งสุดท้าย: 20 มิถุนายน 2016, 15:50:15 โดย sputtaro » บันทึกการเข้า
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 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
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์