Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > อยากสอบถามเกี่ยวกับการป้องกันไม่ใช้ผู้ใช้รู้ path ของไฟล์ภาพได้



 

อยากสอบถามเกี่ยวกับการป้องกันไม่ใช้ผู้ใช้รู้ path ของไฟล์ภาพได้

 



Topic : 004435

Guest




คือทำเว็บที่มีรูปภาพ อยากจะป้องกันไม่ให้คนรู้ที่อยู่ภาพ จะได้ไม่สามารถใช้โปรแกรมดูดภาพได้ รวมถึงอยากให้คนดูภาพและเซฟภาพจากทางหน้าเว็บ ไม่อยากให้ทำเป็น link เอาไปใช้ที่อื่น

ผมเคยลองใช้วิธี
<?
header("Content-type: image/jpeg");
$im = imagecreatefromjpeg("pic012.jpg");
imagejpeg($im);
imagedestroy($im);
?>

สามารถป้องกัน การเห็น path ได้จริง แต่มีปัญหาอยู่ 3 อย่าง
1. ไฟล์ภาพที่ผู้ใช้ save จะเป็นไฟล์ .bmp แทนที่จะเป็น .jpg ทำให้ขนาดไฟล์ภาพที่ sav ไปใหญ่
2. ไฟล์ที่ save จะเป็นชื่อ Untitle ทำให้ผู้ save ภาพต้องทำการตั้งชื่อใหม่ทุกครั้งที่ save
3. อันนี้ปัญหาใหญ่สุด คือภาพมันไม่ชัดเท่าภาพจริง บางภาพก็ไม่ค่อยเห็น แต่บางภาพเห็นความต่างได้ชัดเลย อันนี้คาดว่าเพราะแปลงเป็น .bmp ความละเอียดภาพจึงเปลี่ยนไป

ไม่ทราบว่าพอมีวิธีที่แก้ไขปัญหาเหล่านี้หรือไม่ ทำให้มันออกมาเป็น .jpg แทน และกำหนดชื่อให้มันได้

หรือหากมีวิธีอื่นใดนอกจากนี้ ก็แนะนำด้วยนะครับ

ผมเคยไปเห็นเว็บบางเว็บมีวิธีป้องกันแปลกมาก อย่างเว็บประมูล
http://www.pramool.com:5050/.3/r405381-1.jpg
ถ้ากด link ที่ไม่ได้ผ่านจากกระทู้นั้นๆ ภาพมันจะกลายเป็น logo ของเว็บ ทั้งที่ path ก็ link ไปที่ไฟล์ภาพ แต่ถ้า link จากกระทู้นั้นๆ ภาพกลับขึ้นมาทั้งที่ link เดียวกัน

อันนี้ก็เหมือนกัน
http://asianmusicnetwork.com/~boafans/Boagallery/albums/outdoorshoots/0513_15_01.jpg
link ไปที่ภาพชัดๆ เวลาเข้าเว็บจะเปิดภาพได้ปกติ แต่ถ้าปิด IE ไปแล้วเอา link มาเรียกใหม่ ภาพไม่ขึ้นแล้ว

ของ dotphoto นี่ก็บางครั้งได้ บางครั้งมันกลายเป็นภาพ logo ของเว็บซะงั้น เหมือนของประมูลเลย
http://www.dotphoto.com/SAN1/D8/58/23/iD85823CA-09B7-4EDB-966A-889B2372B83B.jpg
ทำได้อย่างไร ช่างน่าอัศจรรย์นัก


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 20 มิ.ย. 2548 15:12:11 By : นัท View : 4882 Reply : 27
 

 

No. 1

Guest


ตอนนี้พอจะแก้ปัญหาได้บางอย่างแล้ว ไปอ่านใน manual ใช้การกำหนด quality เป็น 100 ภาพก็ชัดขึ้นมาหน่อย แต่ก็ยังไม่เท่าของจริงอยู่ดี ไฟล์ภาพก็ยังเป็น .bmp อยู่ แล้วก็กำหนดชื่อไฟล์ไม่ได้ด้วย

แต่เจอปัญหาอีกอย่างคือ ถ้าใช้วิธีสร้างภาพแบบนี้ ผมจะทำงานอย่างอื่นไม่ได้เลย เช่น

<?
$im = imagecreatefromjpeg("wallpaper/000012.jpg");
imagejpeg($im,'', '100');
echo "Hello";
?>

เมื่อ run ออกมาแล้ว ภาพขึ้น แต่คำว่า Hellp มันไม่ขึ้น

พอเปลี่ยนเป็น เอาให้แสดงคำก่อน
<?
echo "Hello";
$im = imagecreatefromjpeg("wallpaper/000012.jpg");
imagejpeg($im,'', '100');
?>

ทีนี้ถาพไม่ขึ้นเลย กลายเป็นตัวอะไรไม่รู้ ภาษาต่างดาวเต็มหน้าเลย







Date : 20 มิ.ย. 2548 16:04:10 By : นัท
 


 

No. 2

Guest


<?ob_start();
header("Content-type: image/jpeg");
$im = imagecreatefromjpeg("image/boa.jpg");
imagejpeg($im,'', '100');
imagedestroy($im);
echo "Hello";
?>

แบบนี้ Hello ก็ไม่ขึ้นอยู่ดี
Date : 20 มิ.ย. 2548 16:34:22 By : นัท
 

 

No. 3

Guest


การที่ไฟล์ภาพเป็น .bmp เข้าใจว่าเป็นเพราะคำสั่ง Session_Start();
เพราพอเอาออก ก็สามาร save ไฟล์เป็น .jpg ได้
แต่ปัญหาเดิมก็ยังอยู่คือ ไม่สามารถพิมพ์ข้อความใดๆได้ ทำได้แต่แสดงรูปอย่างเดียว
รวมถึงยังไม่สามารถกำหนดชื่อไฟล์ได้
Date : 20 มิ.ย. 2548 19:22:24 By : นัท
 


 

No. 4

Guest


ใช้ javascript ก็สิ้นเรื่องแล้ว กะอีแค่ป้องกันไม่ให้ผู้ใช้มองเห็น path ช่างง่ายดายนัก

วิธีทาง
1. เขียนเป็น style sheet ไว้ก็ได้ เมื่อมีการ เมาส์โอเวอร์ ก็ให้แสดงข้อความอื่นแทน พอเอาส์ออกก็แสดงข้อความอีก
ไม่ทราบว่าผู้ใช้จะมองเห็น path ได้อย่างไร
2. กำหนดเป็นจุดๆไป ดังตัวอย่าง

ตัวอย่าง
<a href="http://www.test/images/01.jpg" onmousemove="javascript:window.status='คุณกำลังจะดาวน์โหลดไฟล์รูปภาพนะ คุณจะมองไม่เห็น path นะครับ';" onmouseout="javascript:window.status='สถานะปกติครับ';">ดาวน์โหลดรูปภาพ</a>

ง่ายไหมล่ะครับ จะไปใช้คำสั่งสร้างรูปภาพมาอีกทำไม เห้อ
Date : 21 มิ.ย. 2548 08:58:01 By : noom_programmer
 


 

No. 5

Guest


คลิกขวาที่ภาพแล้วเลือก Properties ก็เห็นแล้วไม่ใช่เหรอครับ

Date : 21 มิ.ย. 2548 11:29:04 By : นัท
 


 

No. 6

Guest


ใช่ครับคลิกขวา proerties เห็น แต่คุณก็ใช้การเข้ารหัสควบคู่สิครับ เช่น path ./images/01.jpg คุณเข้ารหัสได้นี่ครับ
Date : 21 มิ.ย. 2548 12:11:28 By : noom_programmer
 


 

No. 7

Guest


เข้ารหัสยังไงเหรอครับ มีโค้ดตัวอย่างมั๊ย
หรือมีเว็บที่ให้ขอมูล ก็แนะนำด้วยครับจะเข้าไปศึกษาดู
Date : 21 มิ.ย. 2548 12:25:22 By : นัท
 


 

No. 8

Guest


ทำได้หมด อ่ะครับ จะบันทึกไฟล์เป็น jpg ก็ได้ เปลี่ยนชื่อก็ได้ ไม่เห็นจะมีปัญหา ใส่ข้อความในรูปก็ทำได้นิ ใช้ php
Date : 21 มิ.ย. 2548 13:19:41 By : โจผี
 


 

No. 9

Guest


^
^
^
ปัญหาคือทำอย่างไร ครับ
หาทางมาเป็นเดือนแล้วก็ยังทำไม่ได้
ไปถามที่ไหน ส่วนใหญ่ตอบเหมือนกันว่า
ทำได้ แต่ไม่มีใครบอกว่าทำอย่างไร
Date : 21 มิ.ย. 2548 15:53:47 By : นัท
 


 

No. 10

Guest


ผมว่าในของเว็บประมูลคงใช้ $_SERVER['HTTP_REFERER'] มังครับ
อย่าง ถ้า url ของกระทู้คือ

http://www.name.com?idofpost=1234

if ($_SERVER['HTTP_REFERER']!='http://www.name.com?idofpost=1234') {
โชว์โลโก้เว็บ
} else {
แสดงภาพที่ถูกต้อง
}
โดยเวลาอับโหลดเราอาจจะ Rename ชื่อภาพ ให้ตรงกับ id ของ Post แล้วใส่ลำดับที่ภาพต่อท้าย

1234-1.jpg ไรงี้ครับ

แบบนี้น่าจะโอเคนะครับ เพราะจะลิงค์มาไม่ได้เลย ถึงแม้จะโชว์ Path ก็ตาม
Date : 22 มิ.ย. 2548 14:52:13 By : surenus
 


 

No. 11

Guest


^
^
^
ไม่น่าได้มั๊ง เพราะมันจะเข็คได้ต่อเมื่อผ่านโค้ด php
แต่ถ้ากดมาที่ไฟล์รูปเลย มันจะไปเช็คตอนไหนว่าเข้ามาจากหน้าไหน

ยังไงเดี๋ยวลองดูเพื่อความชัวร์
Date : 22 มิ.ย. 2548 18:19:57 By : นัท
 


 

No. 12

Guest


ก็ใช้ไฟล์ PHP เรียกรูปมาแสดงสิครับใช้ include file เข้ามาใน แท็ก image น่ะ
Date : 23 มิ.ย. 2548 09:50:13 By : surenus
 


 

No. 13

Guest


ที่ว่าคลิ๊กขวาเห็น path มีวิธีแก้แล้วครับ ป้องกันการคลิกขวาซะเลย ....ไม่มีใครคลิกขวาได้แน่นอนครับ
ผมว่าใช้ javascript ง่ายกว่าเห็นๆ ครับ ผมใช้วิธีนี้อยู่...
Date : 23 มิ.ย. 2548 10:55:05 By : noom_programmer
 


 

No. 14

Guest


ผมมีฟังก์ชันมาให้นะ...

//ฟังชัน ************** copyright.js ****************//
function rightclick()
{
if(event.button==2){
alert("ฮั่นแน่!!! รู้นะคิดอารายอยู่");
}
}
document.onmousedown=rightclick;
if(document.layers){
window.captureEvents(Event.Mousedown);
}

//**************เวลาเรียกใช้*************
<script language="javascript" src="./function/copyright.js"></script>


แค่นี้ครับ คลิกขวาไม่ได้แย้ว ..............

Date : 23 มิ.ย. 2548 10:59:57 By : noom_programmer
 


 

No. 15

Guest


ป้องกันคลิกขวาแล้วเขาจะ save ภาพยังไงอ่ะครับ
ถ้าไม่ได้ใช ie มันจะไม่มี icon ลัดที่จะขึ้นมาที่มุมภาพด้วย
Date : 23 มิ.ย. 2548 14:30:57 By : นัท
 


 

No. 16

Guest


คือจุดประสงค์ไม่ได้ป้องกันคน save ภาพอ่ะครับ
คือที่จะป้องกันจริงๆคือ
1. ป้องการคนรู้ path ของที่เก็บภาพ แล้วใช้โปรแกรม ดูดภาพดูดภาพไปทั้ง folder
2. เพื่อให้คนที่เข้ามาดูภาพหรือ save ภาพ ต้องเข้ามา save จากหน้าเว็บ เพราะในหน้านั้นจะมีเครดิตคนทำภาพ และข้อมูลอื่นๆบอกไว้
3. เพื่อป้องกันการใช้พื้นที่เว็บเป็นพื้นที่เก็บรูป หากสามารถ link มาที่ภาพได้ คนก็จะโพสรูป แล้วเอาไปใช้ที่อื่นๆ กลายเป็นเว็บแจกพื้นที่เก็บรูปไป

แต่สงสัยจะไม่มีทางทำได้จริงๆแฮะ ถามมากี่ที่ก็ยังไม่เห็นมีใครทำได้จริงๆ ส่วนใหญ่จะทำได้ในเชิงทฤษฎี
ครั้นจะไปภามเว็บฝรั่ง ภาษาอังกฤษก็ไม่แข็งแรงพอ


Date : 23 มิ.ย. 2548 14:46:07 By : นัท
 


 

No. 17

Guest


คลิกซ้ายลิงค์งัยครับ คลิกแล้วก็ให้บันทึกไง ทำลิงค์ไปยังภาพภาพ ข้างบนเป็นการป้องกันคลิกขวาครับ
มองออกยัง..
Date : 23 มิ.ย. 2548 15:21:44 By : noom_programmer
 


 

No. 18

Guest


โอยยๆ คุณยังมองไม่ออกอีกเหรอ

ลิงค์ดาวโหลด เช่น <a href="http://www.test/images/01.jpg" onmousemove="javascript:window.status='คุณกำลังจะดาวน์โหลดไฟล์รูปภาพนะ คุณจะมองไม่เห็น path นะครับ';" onmouseout="javascript:window.status='สถานะปกติครับ';">ดาวน์โหลดรูปภาพ</a>
********** เมื่อมีการคลิกที่ลิงค์มันจะขึ้นหน้าต่างให้เซฟเอง *********

และก็มองไม่เห็น path ภาพด้วย และสามารถป้องกันการคลิกขวาได้ด้วย เพื่อป้องกันการดู properties ....ได้จากโค้ดป้องกันการคลิกขวาที่ให้ไปก่อนหน้าครับ


Date : 23 มิ.ย. 2548 15:27:09 By : noom_programmer
 


 

No. 19

Guest


ยังมองไม่ออกจริงๆครับ ช่วยอธิบายอีกนิดนะ

คลิก link ที่คำว่า ดาวน์โหลด มันก็ไปที่ไฟล์รูปภาพไม่ใช่เหรอครับ

////////////////////////////////////////////////////////////////////////////
<script language="JavaScript">
function rightclick()
{
if(event.button==2){
alert("ฮั่นแน่!!! รู้นะคิดอารายอยู่");
}
}
document.onmousedown=rightclick;
if(document.layers){
window.captureEvents(Event.Mousedown);
}
</script>

<a href="image/01.jpg" onmousemove="javascript:window.status='คุณกำลังจะดาวน์โหลดไฟล์รูปภาพนะ คุณจะมองไม่เห็น path นะครับ';" onmouseout="javascript:window.status='สถานะปกติครับ';">ดาวน์โหลดรูปภาพ </a>

///////////////////////////////////////////////////////////////////////////////
Date : 23 มิ.ย. 2548 16:23:47 By : นัท
 


 

No. 20

Guest


งั้นลองดาวน์โหลด Template To Day ของ thaicreate ดูครับ เขาก็ทำลิงค์ไปยังรูปภาพเหมือนกัน

** https://www.thaicreate.com/template/PicTPBox/template004m.gif ยังลิงค์แล้วเซฟได้เลย แต่ทาง thaicreate
ขาดการป้องกันการคลิกขวาดู properties ก็เท่านั้นเอง

*** อาจเป็นไปได้ถ้าในเครื่องผู้ใช้มีโปรแกรมพรีวิวรูปภาพ ทำให้ลิงค์ไปแล้วเปิดรูปภาพดังที่เห็นดังกล่าว
Date : 24 มิ.ย. 2548 08:40:44 By : noom_programmer
 


 

No. 21

Guest


อ่ะจ๋าย มิน่าล่ะ ของเค้าเป็น zip ไฟล์

เอ่อ ลิงค์ไปยังภาพจริงๆๆ ผมว่าลอง zip ไฟล์ภาพดูรับรองได้แน่นอน หรือไม่ก็ใช้วิธีเดิมของคุณแล้วล่ะครับ
Date : 24 มิ.ย. 2548 08:46:43 By : noom_programmer
 


 

No. 22

Guest


ครับ ขอบคุณครับ

วิธีเดิมของผมมันยังติดปัญหาอ่ะ เลยใช้ไม่ได้
แต่ไม่เป็นไร ไม่ได้ก็คือไม่ได้ ทำใจแล้ว
ยังไงก็ขอบคุณสำหรับทุกคำแนะนำนะครับ
Date : 24 มิ.ย. 2548 12:59:47 By : นัท
 


 

No. 23

Guest


ลองประยุกต์ใช้ดูนะครับ
start.php
<A href='http://localhost/images.php'>http://localhost/images.php</A>

images.php
<?
function stab_es_gif()
{
header("Content-type: image/gif");
header("Content-length: 847");
echo base64_decode(
'R0lGODlhCgAYAPcAAIyMjL29vf//////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'////////////////////////////////////////////////////////////'.
'/////////////////////ywAAAAACgAYAEAINAADBBBAsKDBgwQHIkx4UOFC'.
'gw4ROoz4UABFiRUvFtTI0GLFjhk/egz5kOPIhSZTklwIICAAOw=='.
'');
}

if ($_SERVER['HTTP_REFERER']!='http://localhost/start.php') {
echo 'boooo!! ';
} else {
echo stab_es_gif();
}

?>
Date : 24 มิ.ย. 2548 13:12:47 By : surenus
 


 

No. 24

Guest


วิธีนี้ก็ใช้ไม่ได้อยุ๋ดี เพราะว่า เค้าเข้าไปที่ C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files ของวินโด ก็จะเก็บ พวก tempไว้อ่ะ
Date : 25 มิ.ย. 2548 09:57:23 By : โจผีนะ
 


 

No. 25



โพสกระทู้ ( 21 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนถามโค้ดนิดนะครับ
คือว่าผมใส่ ป้องกันการเซฟภาพ
ในเวปอ่ะครับ
แต่ปรากฎว่าเจอ BUG ตรงที่เมื่อเอาลูกศรชี้ไปมุมบนขวา
มันมีicon save,print,send e-mail อ่ะครับ
แก้ไงครับ
คือมันสามารถ Save ได้อ่ะครับ
Date : 2009-06-17 13:26:31 By : aakkeng
 


 

No. 26

Guest


คือทำเว็บที่มีรูปภาพ อยากจะป้องกันไม่ให้คนรู้ที่อยู่ภาพ จะได้ไม่สามารถใช้โปรแกรมดูดภาพได้ รวมถึงอยากให้คนดูภาพและเซฟภาพจากทางหน้าเว็บ ไม่อยากให้ทำเป็น link เอาไปใช้ที่อื่น
-----------------------------------------------------------
คำถามพวกนี้ฮ่าดีครับ ชอบดีต้องหา logic กัน ความต้องการของเขาคือต้องการให้save ภาพ แต่ไม่ให้รู้ path
แนวคิด ฮ่าๆนะ
1. ใช้ พวก แฟลต ไว้ดูรูปภาพ ครับ มีข้อแม้ว่าแฟลตต้องไปถึง path จากไฟล์ หรือฐานข้อมูลมา เพราะมัน ก้อบ แฟลตได้
2. สร้างโคตตัว save สำหรับรูปภาพแยกเลย ลองหาดูนะครับ
Date : 2009-12-25 14:06:50 By : tapi
 


 

No. 27

Guest


อันนี้ยังไม่ได้ลองแต่คิด เฉยๆ ถ้าไม่ดีก็อย่าว่านะครับ เพราะความคิดมันประดิษ ได้
Date : 2009-12-25 14:07:48 By : tapi
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากสอบถามเกี่ยวกับการป้องกันไม่ใช้ผู้ใช้รู้ path ของไฟล์ภาพได้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่