banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Làm sao để chống truy cập trực tiếp vào các file template trong jforum  XML
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 28/02/2012 18:07:08 (+0700) | #1 | 256087
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]
Hi HVAer!

Em đang lấy source jforum về để vọc, các quá trình cài đặt, chỉnh sửa thì không vấn đề gì.
Có 1 vấn đề mà em đau đầu, chưa có hướng xử lý và mong các bro chỉ bảo giúp ạ!

Vấn đề: Khi chạy forum thì trên URL nếu gõ trực tiếp như sau:
localhost:8080/jforum/templates/default/forum_list.htm
(url chuẩn: localhost:8080/jforum/forums/list.page)
Thì Browser nó print nội dung source trong file forum_list.htm ra smilie

Em đang hiểu là các file *.htm thì đang tương đương với các file resource (như js, css) nên browser nó print ra mà nó ko chui vào Controler được smilie
Em chưa có cách nào để điều hướng mỗi khi nhập trực tiếp file *.htm để nó di chuyển đến trang lỗi 404 hoặc là 1 trang nào đó (giống như hva hoặc coderanch.com đang làm).

Vậy nhờ các bác chỉ bảo giúp ạ!

@Nếu em post bài sai vị trí thì mod move giúp em!

Thanks!
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 28/02/2012 19:44:03 (+0700) | #2 | 256105
kakarottbatdong
Member

[Minus]    0    [Plus]
Joined: 02/05/2009 19:27:06
Messages: 55
Offline
[Profile] [PM]
Vấn đề này chắc bồ phải code thêm cho jforum thôi, hoặc nghiên cứu thêm apache để có thể giải quyết được vấn đề
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 07:26:30 (+0700) | #3 | 256188
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]

kakarottbatdong wrote:
Vấn đề này chắc bồ phải code thêm cho jforum thôi, hoặc nghiên cứu thêm apache để có thể giải quyết được vấn đề 


Thanks bac!

Vẫn biết là phải code thêm hoặc sửa đổi gì rồi a, nếu em biết thì còn hỏi chi nữa smilie

Mong các bác giúp đỡ smilie
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 11:21:21 (+0700) | #4 | 256213
kakarottbatdong
Member

[Minus]    0    [Plus]
Joined: 02/05/2009 19:27:06
Messages: 55
Offline
[Profile] [PM]
Bồ cũng có thể thay đổi tên hoặc đặt templates ở vị trí khác, ở trường hợp này, nếu bồ đã học java servlet và freemarker thì bồ sẽ thực hiện dể dàng thôi mà smilie
theo tôi, những file htm đó không quan trọng gì cho lắm, nếu lỡ ai đó lấy được file đó về xem thì cũng chỉ là vẻ bề ngoài, còn trong ruột nó là gì thì ai mà biết smilie)
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 11:54:25 (+0700) | #5 | 256214
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]
Thay đổi tên hoặc đặt templates ở vị trí khác 

cũng là 1 ý kiến hay, để em thử xem thế nào! Thanks bác kakarottbatdong

những file htm đó không quan trọng gì cho lắm 

Cái này em không chắc là nó quan trọng hay không, 1 ai đó lấy được source code trong file htm thì ảnh hưởng tới app về mặt bảo mật không ạ?

Vì em không rành về vấn đề bảo mật cho web nên sourcde của file htm mà trình ình lên thấy nó không an tâm.

Mong chỉ giáo smilie
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 12:21:12 (+0700) | #6 | 256217
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Mở cái web.xml trong WEB-INF ra và thêm các xml blocks sau:

Code:
<security-constraint>
    <web-resource-collection>
        <web-resource-name>HTTP-Protected-Resource-1</web-resource-name>
        <description>Description here</description>
        <url-pattern>/jforum/templates/default/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
        <role-name>VOPHANSUMIENVAO</role-name>
    </auth-constraint>
</security-constraint>


Code:
<login-config>
    <auth-method>DEFAULT</auth-method>
    <realm-name>NOACCESSF</realm-name>
</login-config>
<security-role>
    <role-name>VOPHANSUMIENVAO</role-name>
</security-role>


Restart lại cái JVM và thử coi sao?

Còn muốn code thì vô trong JFoum class mà thêm một cái private method để nó kiểm tra URI pattern là cái gì để rồi thằng Service method dựa vào đó mà kiểm tra. Nếu nó là /jforum/templates/default/ thì bắt nó wwwect tới 1 trang nào đó hoặc muốn kỹ hơn thì phải set hẳn 1 cái template riêng để nó build 1 trang chuyên hồi báo lỗi (vì đã access trực tiếp vào templates).

Muốn mó vô mấy cái này, bồ phải nghiên cứu kỹ cái source structure của Jforum chớ không thì tớ nói cũng như "vịt nghe sấm" không chừng á.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 16:45:03 (+0700) | #7 | 256254
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]
Cám ơn anh conmale đã giúp đỡ!

Còn muốn code thì vô trong JFoum class mà thêm một cái private method để nó kiểm tra URI pattern là cái gì để rồi thằng Service method dựa vào đó mà kiểm tra 

Khi mình nhập url trỏ vào file templates thì bản thân file tem đó tương đương với file resource thì làm sao nó nhảy vào controller (JForum.java) được hả anh? Chính vì ko vào nên em mới hỏi ạ smilie

Còn về cách config trong web.xml thì em sẽ thử và trả lời kết quả ạ!

Thanks anh!
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 16:55:40 (+0700) | #8 | 256258
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

hftv699 wrote:
Cám ơn anh conmale đã giúp đỡ!

Còn muốn code thì vô trong JFoum class mà thêm một cái private method để nó kiểm tra URI pattern là cái gì để rồi thằng Service method dựa vào đó mà kiểm tra 

Khi mình nhập url trỏ vào file templates thì bản thân file tem đó tương đương với file resource thì làm sao nó nhảy vào controller (JForum.java) được hả anh? Chính vì ko vào nên em mới hỏi ạ smilie

Còn về cách config trong web.xml thì em sẽ thử và trả lời kết quả ạ!

Thanks anh! 


Application context trong trường hợp này là "/jforum" và mọi request đụng tới context này đều phải đi xuyên qua "Jforum" controller thì mới có thể tiếp tục. Chính vì chưa có cái gì declare cho "JForum" class cho nên mới "ko vào".
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 17:23:21 (+0700) | #9 | 256263
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]

conmale wrote:

Application context trong trường hợp này là "/jforum" và mọi request đụng tới context này đều phải đi xuyên qua "Jforum" controller thì mới có thể tiếp tục. Chính vì chưa có cái gì declare cho "JForum" class cho nên mới "ko vào". 


Trong file web.xml đã khai báo rồi mà anh, code đây ạ:

//JForum Controller
<servlet>
<servlet-name>jforum</servlet-name>
<servlet-class>net.jforum.JForum</servlet-class>

<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

//Mapping
<servlet-mapping>
<servlet-name>jforum</servlet-name>
<url-pattern>*.page</url-pattern>
</servlet-mapping>

Không lẽ còn chỗ nào declare nữa hả anh?
Vì gà, nên mong anh chỉ giúp!

Thanks anh!
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 29/02/2012 23:43:45 (+0700) | #10 | 256342
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]
Em thêm <security-constraint> vào web.xml không chạy được bác conmale ạ, cho cái đó vào, start được server nhưng vào site thì die, 404 smilie

Có lẽ cách di chuyển template là cách dễ thực hiện nhất smilie

Thanks!
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 01/03/2012 02:51:46 (+0700) | #11 | 256352
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

hftv699 wrote:

conmale wrote:

Application context trong trường hợp này là "/jforum" và mọi request đụng tới context này đều phải đi xuyên qua "Jforum" controller thì mới có thể tiếp tục. Chính vì chưa có cái gì declare cho "JForum" class cho nên mới "ko vào". 


Trong file web.xml đã khai báo rồi mà anh, code đây ạ:

//JForum Controller
<servlet>
<servlet-name>jforum</servlet-name>
<servlet-class>net.jforum.JForum</servlet-class>

<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

//Mapping
<servlet-mapping>
<servlet-name>jforum</servlet-name>
<url-pattern>*.page</url-pattern>
</servlet-mapping>

Không lẽ còn chỗ nào declare nữa hả anh?
Vì gà, nên mong anh chỉ giúp!

Thanks anh! 


Bồ cần đọc kỹ lại post #6. "Khai báo" là khai báo bên trong source code (JForum class) chớ có phải khai báo trên web.xml đâu?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Làm sao để chống truy cập trực tiếp vào các file template trong jforum 01/03/2012 11:52:34 (+0700) | #12 | 256415
hftv699
Member

[Minus]    0    [Plus]
Joined: 02/01/2012 11:24:25
Messages: 7
Offline
[Profile] [PM]

conmale wrote:

Bồ cần đọc kỹ lại post #6. "Khai báo" là khai báo bên trong source code (JForum class) chớ có phải khai báo trên web.xml đâu? 


Ơ anh, như em đã nói ở post #7, khi nhập url trỏ tới file *.htm thì request nó không nhảy nổi vào JForum >> như vậy thì có Khai báo gì trong JForum cũng để làm gì đâu smilie
>> Thật sự em chưa hiểu ý anh xử lý thế nào trong vấn đề "Khai báo" trong JForum ạ smilie

Em tìm hiểu thì để khi nhập url trỏ vào file *.htm mà request nó chui vào Jforum action thì mình cần thêm 1 servlet-mapping với htm là được. Khi đó mình mới check được trong class JForum ạ!

Thanks anh!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|