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 > มีผู้เรียก URL แบบมี :80 เข้ามา จะเขียน htaccess ป้องกันยังไงครับ?



 

มีผู้เรียก URL แบบมี :80 เข้ามา จะเขียน htaccess ป้องกันยังไงครับ?

 



Topic : 108819



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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




ผมมี URL หนึ่ง สมมุติเช่น http://localhost
เวลาผมเรียกไป http://localhost:80 ตามปกติ มันก็จะ redirect ไป http://localhost ซึ่งถูกต้อง

แต่ทีนี้มีคนเรียกดูมาแบบ http://localhost:80 แล้วมันไม่ redirect เพราะใน log ของผมตรวจได้ว่าทุกๆ file ที่ถูกเรียก โดยเรียกจากโค้ด php เช่น css/style.css มันติด :80 มาด้วยทั้งหมดเลยครับ

ตย. http://localhost/css/style.css อันนี้ปกติ. http://localhost:80/css/style.css อันนี้ไม่ปกติแล้ว

เบื้องต้นผมคิดว่าการเรียกดูโดยมี port 80 http://localhost:80 คนที่เรียกดูคนนั้นไม่ได้เรียกผ่านเบราเซอร์ทั่วไป
เพราะไม่งั้นมันต้อง redirect ไป http://localhost
แล้วพวก css, img ทั้งหลายจะต้องไม่มี log แบบนี้ http://localhost:80/css/style.css
แต่จะต้องเป็น http://localhost/css/style.css แทน

ทีนี้เลยคิดว่าคงต้องป้องกันที่ htaccess แล้วกระมั้ง?
จะมีวิธีเขียนยังไงครับให้มันหา :80 ที่"ปรากฏ"บน URL แล้ว redirect ไปยัง URL ที่ตัด :80 ออกไปเท่านั้น



Tag : PHP, CodeIgniter Framework







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-06-02 03:02:38 By : mr.v View : 1316 Reply : 10
 

 

No. 1

Guest


80 คือ default port ของ protocol http น่ะครับ ถ้าไม่ระบุมันก็จะใช้ 80 ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 04:01:06 By : .
 


 

No. 2



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : . เมื่อวันที่ 2014-06-02 04:01:06
รายละเอียดของการตอบ ::
รบกวนทบทวนคำถามใหม่ครับ ถ้าสงสัยผมถามไม่ชัดตรงไหนบอกได้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 07:13:36 By : mr.v
 

 

No. 3

Guest


เข้าใจคำถามครับ แต่ไม่เข้าใจว่าต้องการป้องกันไปเพื่ออะไร
ในเมื่อจะระบุหรือไม่ระบุ มันก็ใช้ 80 อยู่ดี ถึงแม้ใน log จะไม่ได้เขียนไว้ก็ตาม
แต่ถ้าอยากจะทำจริงๆ ลองใช้ RewriteCond ด้วย %{HTTP_HOST} ครับ

ประมาณนี้
RewriteCond %{HTTP_HOST} ^yourweb.com:80$ RewriteRule ^(.*)$ $1 [L]

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 07:24:35 By : .
 


 

No. 4



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : . เมื่อวันที่ 2014-06-02 07:24:35
รายละเอียดของการตอบ ::
เพราะเวลามันมี :80 โค้ดบางส่วนมันทำให้ url ผิดเพี้ยนภาพไม่แสดงครับ http://localhost/path/file.css เขียน html tag ออกมาถูก แต่พอ http://localhost:80/path/file.css จะเขียน html tag ออกมาเป็น http://localhost/http://localhost:80/path/file.css

ถ้ามันปกติผมคงไม่มานั่งป้องกันเป็นแน่แท้

จะบอกให้ไปแก้ที่ function gen html ก็......เยอะ เอามันที่จุดเดียวป้องกันได้หลายอย่าง ทั้งยังป้องกัน cache ที่สร้างจาก url แบบนี้แล้วถูกเรียกจาก url ที่คนปกติเขาเรียกกัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 09:05:11 By : mr.v
 


 

No. 5



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


กำหนด base part ครับในส่วนของ <head>

แล้วปัญหานี้จะหมดไป
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <base href="http://localhost/" />
    <link rel="stylesheet" type="text/css" media="screen" href="css/style.css">
</head>

<body>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 09:09:00 By : arm8957
 


 

No. 6

Guest


อ๋อ เข้าใจแล้วครับ เป็นเรื่องของส่วนนี้นี่เอง
ลองปรับใช้ดูจากที่ผมตอบก็แล้วกันครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 09:10:26 By : .
 


 

No. 7



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : arm8957 เมื่อวันที่ 2014-06-02 09:09:00
รายละเอียดของการตอบ ::
base path ไม่ช่วยอะไรครับ มันจับ URL มาเขียนโดยโปรแกรมครับ
base path แค่มีผลกับเบราเซอร์ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 14:18:30 By : mr.v
 


 

No. 8



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : mr.v เมื่อวันที่ 2014-06-02 14:18:30
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 14:49:44 By : arm8957
 


 

No. 9



โพสกระทู้ ( 5,149 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ตอนใช้งาน ในสคริป ใช้ โค้ดตัวใหนบ้างครับ ในการกำหด path

$_SERVER['HTTP_HOST']
$_SERVER['HTTP_X_FORWARDED_HOST']

พวกนี้ด้วยใช่ไม๊ครับ ถ้าใช่ เรา strip พวกพอร์ตออกได้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 15:42:10 By : deawx
 


 

No. 10



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : deawx เมื่อวันที่ 2014-06-02 15:42:10
รายละเอียดของการตอบ ::
มันเป็นของ CI น่ะครับ ผมแก้โดยใช้ htaccess แบบคุณข้างบนได้แล้วครับ อิอิ

กรณีนี้มันเป็นกรณีที่ไม่ปกติจริงๆ คือผมลองทุกเบราเซอร์โดย clear cache ออกหมดแล้ว แล้วเรียกโดย เช่น http://localhost:80 เบราเซอร์จะเด้งไปที่ http://localhost ให้เองอัตโนมัติ
แต่กรณีนี้คือเขาเรียกมา http://localhost:80 โดยน่าจะไม่ได้ใช้เบราเซอร์ มันเลยเข้าตรงๆ
แล้ว Codeigniter ก็ gen url ออกมาแบบทั้งอย่างนั้นเลย
แล้วผลคือมันขัดแย้งตัวมันเอง
พอมันเจอ http://domain:80 ปุ๊บ พวก gen html tag ต่างๆมันดันไปใส่ domain http เพิ่มอีกซะงั้น เป็น http://localhost/http://localhost:80
เลยเจ๊งทั้งหน้าครับทั่นผู้ชม.

hacker ท่านใดทำไว้ ถ้าจะใจดีแจ้งบั๊ก ครั้งหน้าอีเมลตรงเข้ามาดีกว่านะครับ จะได้ง่าย.


Code
#prevent access with port number. ex: http://localhost:80 will be redirect to http://localhost RewriteCond %{HTTP_HOST} ^(.*):80$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]



ประวัติการแก้ไข
2014-06-02 17:40:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-02 17:35:41 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีผู้เรียก URL แบบมี :80 เข้ามา จะเขียน htaccess ป้องกันยังไงครับ?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่