banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: proA.Vito  XML
Profile for proA.Vito Messages posted by proA.Vito [ number of posts not being displayed on this page: 2 ]
 

ngonchan wrote:
Cái link đó dùng để assign giá trị cho biến lang là vn, rồi sau đó, dựa vào biến này để hiển thị ngôn ngữ đúng với lựa chọn của người dùng thôi, đâu có sử dụng kỹ thuật gì nhiều đâu bạn smilie 


Nếu viết bình thường thì cái link kia báo lỗi ngay chứ anh... Nó có link đến trang nào đâu >"< Cái em muốn hỏi là kĩ thuật gì để giúp mình viết được cái link như vậy ạ?
Hum truớc em vào trang web dành cho mobile của clip.vn, thì em thấy cái link dùng để chuyển đổi ngôn ngữ như sau: http://m.clip.vn/misc/assign/?lang=vn

Em không hiểu họ dùng kĩ thuật gì lại đuợc như vậy và điều đó có tác dụng gì ạ.


Mong mọi nguời giải đáp cho em. Thanks mọi nguời nhiều.

kiban250683 wrote:
Mình muốn làm 1 cái form điền thông tin vào mà ko có nút submit. khi điền đầy đủ chỉ cần nhấn enter là tất cả các thông tin sẽ được truyền đi đến trang sử lý. Mong các bạn hướng dẫn mình smilie  


Bắt sự kiện bàn phím thử xem smilie) Nhưng không hiểu bạn làm thế với mục đích gì nữa ^^

phstiger wrote:
Opp thì mình đã từng học rồi.
ví dụ $user1 = new user(); $user2 = new user().
Và trong class user() có 2 phương tức get và set ,.....
Nói chung mình đã học rồi trong C++
Nhưng trong thiết kế web thì mình chưa hiểu rõ ý nghĩa .Theo như mình hỏi ở trên tức là

file class.php
<?php
Class User
{
private $css;
public function set_css($a)
{$a=$css}
public function get_css()
{return $css}
....
?>
 

Trong 1 trang khác mình

<?php
include('class.php');

' Chứng thực user thành công sẽ...
$user = new user();
$user->set_css();
....

?>
 

Nếu làm như trên thì có hợp lý không vậy. Ý mình là vậy đó.
{Code trên chỉ là demo} 

1) Huơng đối tượng không chỉ có thế thôi đau ^^
2)Đương nhiên là mỗi khi sang 1 trang mới thì bạn phải khởi tạo 1 object user mới rồi. Nếu bạn muốn sử dụng 1 object user ở nhiều trang thì bạn phải sử dụng session smilie.

phstiger wrote:
Mình muốn dùng Class trong PHP để thiết kế 1 trang web,nhưng mình chưa rõ ý nghĩa của việc dùng class là như thế nào. Mình trình bày cách hiểu của mình ở đây, nếu sai mong các bác sửa dùm.
Ví dụ với user cần lưu trữ css,sessionid,noidunguser,. . .
<?php
Class User
{
public function set_css($a)
{..... }
public function get_css()
{..... }
public function set_sessionid($a)
{..... }
public function get_sessionid()
{..... }
...........
}
?>
 

Giả sử khi user chứng thực thành công thì mình new 1 biến kiểu class user và set all thuộc tính của nó vào đó à.
$user= new User();
Sau đó trong xử lý các phần sau trog cùng 1 trang thì mình cứ việc get info ra phải ko vậy?
Nếu như vậy thì nhiều user vào trang đó nó sẽ tạo nhiều class. Mà 1 class chứa quá nhiều info thì web có chạy châm hơn không?
Nếu có 1 vài thuộc tính mình muốn sử dụng ở trang khác thì ngoài session mình có thể dùng class không vậy?

---Một vấn đề nữa là:
Giả sử trong trang web gồm 4 nội dung A,B,C,D của user tương ứng được load từ database. Khi user click vào 1 trong 4 nội dung này thì bên dưới thẻ DIV khác sẽ hiện nội dung tươngứng A',B',C'hay D' mà không load lại trang web (dùng ajax). Mình nghĩ rằng cứ mỗi lần như ậy sẽ tốn băng thông kết nối đến database nênmình nghĩ ra 1 cách dùng cookie là.
Khi user click vào A,B,C hay D (giả sử B) thì ta sẽ kiểm tra có tồn tại cookie chaứ nội dung B' hay không. Nếu có thì load lên, nếu không có thì sẽ connect database lấy về và set xuống cookie. Khi user thay đổi nội dung B' thì ta sẽ update vào db đồng thời set lại cookie.
Mình nghĩ như vậy có hợp lý hay không? Và làm thực tế không biết có khả thi hay không?
Mong mọi người giúp đỡ
Thanks
 


Mình nghĩ bạn nên tìm hiểu kỹ về OOP và cookie trước đi, bạn có thể vào trang php.net để nghiên cứu smilie Hoặc trên mạng có rất nhiều tài liệu.

RonTok wrote:
em muốn tự làm nhưng bước đầu thấy hơi khóa khan nên muốn xin code mẫu. Sau này hiểu rõ hơn sẽ làm lấy. 


Khó khăn của bạn ở đây là cái gì thế? Không biết code thế nào hay là không biết code cái gì...

Mình nghĩ làm cái gì cũng phải có kế hoạch. Muốn xây dụng 1 trang web, đầu tiên bạn phải đi khảo sát thị trường xem bạn muốn làm một diễn đàn về cái gì, cái gì có những phần gì. Tiếp đó là phân tích chức năng của hệ thống. Khi bạn đã phân tích ngon lành rồi, bạn sẽ thấy việc code trở nên vô cùng "đơn giản" (ý mình dơn giản ở đây không phải cú pháp hay kiến thức lập trình mà là bạn sẽ biết bạn phải viết những hàm nào, phải viết bao nhiều hàm, chức năng của mỗi hàm...)

Mà bạn định làm diễn đàn về chủ đề gì thế? smilie
Mình không hiểu tại sao bạn không hỏi thầy của bạn ở trường đại học nhỉ? Công việc của thầy giáo là hướng dẫn bạn thì bạn không hỏi, lại lên đây tìm một người thầy ^__^

learn2hack wrote:
Mình góp ý 1 chút, hình như proA.Vito chưa thực sự thử với ajax thì phải. Nên chú ý 1 chút là nếu đứng về phía client thì ajax thực ra chỉ là Javascript. Vì thế, hacker ko thể trực tiếp "hack" vào database trên server được.

Cái mà bạn nói:
view source sẽ có đoạn onblur='tên hàm javascript', xóa đoạn đấy đi, lưu vào 1 file html khác, rồi chạy file đó lên. Thế là ko còn kiểm tra được cái tên user đó đã tồn tại chưa 

thì đối với cái nhìn từ phía server, các thông tin được submit lên (cho dù bạn dùng cách nào đi nữa, ajax hay js thông thường, hoặc chỉ là HTML) thì nó sẽ chứa tên của user đang cần check. Và vì thế, vấn đề kiểm tra được hay ko, nó ko hề phụ thuộc vào phía client, mà là do phía server đảm nhiệm.

Điều này
giả sử mình sử dụng ajax để thêm 1 user vào db 

Như đã nói ở trên là client ko thể thêm user vào db được nếu phía server ko cho phép. Vì thế, vấn đề của bạn là chạy các script 1 cách cẩn thận ở phía server, kiểm tra input rõ ràng, ... chứ ko phải đề phòng "hacker lo mấy vụ chỉnh sửa html, chèn js ở phía client".

Tóm lại, là bạn thử viết 1 ứng dụng ajax cho client chèn user vào db xem sao, bạn sẽ thấy cái nào là mấu chốt trong việc chèn user, và ajax có vai trò gì trong quá trình đó. Nếu ko thực sự làm, mình e là các thắc mắc của bạn sẽ xa vời mãi. 


Uầy anh nói đúng vật!!! :"> Thực sự là em chưa đưa ajax vào 1 dự án thực sự nào cả (mới chỉ làm một số ví dụ cơ bản để nắm cách sử dụng AJAX thôi), nên chưa thực sự hiểu lắm ứng dụng của ajax trong 1 dự án thực tế. Hiện tại mấy hôm nữa thì em cũng phải làm 1 dự án có sử dụng AJAX, nên em post bài trước lên đây để tìm hiểu trước về AJAX, lúc áp dụng vào công việc đỡ bỡ ngỡ hi` hi`!!!

Và em rất cảm ơn những lời góp ý của anh. Em sẽ suy nghĩ về vấn đề này và thực hành thử xem. smilie

ngonchan wrote:

proA.Vito wrote:

@Cái 1: người dùng thích cái gì nhanh và đơn giản, dễ dùng :"> Thì nếu bình thường mình nghĩ để ứng dụng AJAX ở càng nhiều chức năng càng tốt. Nhưng mình nghĩ là trong câu hỏi của mình, thì nên đặt ở vị trí của 1 hacker, xem nó có thể phá hoại mạnh nhất ở chức năng nào để tránh những nguy cơ đó đi smilie

@Cái 2: Thỉ rõ ràng rồi :"> nhưng vấn đề ở đây là phân biệt thế nào khi dữ liệu truyền vào là ở trong câu lệnh select hay delete :"> 

1. Đang nói khía cạnh người dùng mà, hack hiếc gì ở đây smilie không phải cứ xài càng nhiều Ajax vào càng nhiều chức năng là càng tốt đâu smilie
2. Muốn delete thì gọi đến function delete, muốn select thì gọi đến function select chứ sao nữa smilie mình phải xác định lúc nào del hay lúc nào select để truyền vào url cho đúng, chứ không lẽ bắt nó phải tự hiểu hay sao nà? 


Huhu hình như bạn không hiểu ý mình smilie

1. Thôi nói về cả 2 khía cạnh người dùng và hacker đi :">
- Mình muốn biết nếu giả sử mình sử dụng ajax để thêm 1 user vào db thì có thể gặp vấn đề bảo mật gì không?
- Tương tự với trường hợp nếu mình muốn xóa 1 message của user trong db bằng ajax
(cái này mình đọc 1 số sách không thấy đề cập)
2. Có phải lúc nào hacker cũng cho mình gọi hàm mình muốn gọi đâu :-"

ngonchan wrote:

proA.Vito wrote:

Đấy đấy... Đúng rồi đấy... Vì mình chưa trả lời được 2 câu này nên mình mới phải post bài hỏi mọi người. Đọc sách chỉ thấy nó nói ajax có thể làm được cái này cái nọ mà chẳng nói đến lỗ hổng bảo mật của nó ra sao, ảnh hưởng thế nào tới người dùng smilie Nhưng theo cách hiểu của tớ (còn đang non kém) là không nên làm những công việc như thêm, sửa, xóa db => sợ bị hack lắm smilie Dùng câu lệnh select thôi. Nhưng nghĩ lại thấy nếu nó dùng sql injection, thêm dấu -- vào đằng sau, rồi chèn thêm câu lệnh delete nữa thì chít smilie( (mặc dù có thể validate input được cái này, nhưng chắc vẫn có cách phá được cái validate đấy :">, nếu không thì cái thằng sql injection không nổi tiếng như thế smilie) ) 


Cái 1: đặt mình vào trường hợp của người dùng (chứ không phải của một coder) để biết người dùng cần gì smilie
Cái 2: Thêm, xóa hay sửa thì phải dựa vào khóa chính của trường muốn sửa (id chẳng hạn) --> kiểm tra cái này cộng với kiểm tra (hay kiểm soát) dữ liệu được truyền từ client side smilie  


@Cái 1: người dùng thích cái gì nhanh và đơn giản, dễ dùng :"> Thì nếu bình thường mình nghĩ để ứng dụng AJAX ở càng nhiều chức năng càng tốt. Nhưng mình nghĩ là trong câu hỏi của mình, thì nên đặt ở vị trí của 1 hacker, xem nó có thể phá hoại mạnh nhất ở chức năng nào để tránh những nguy cơ đó đi smilie

@Cái 2: Thỉ rõ ràng rồi :"> nhưng vấn đề ở đây là phân biệt thế nào khi dữ liệu truyền vào là ở trong câu lệnh select hay delete :">

ngonchan wrote:

proA.Vito wrote:

Oh` ý tưởng của bạn khá hay... Để mình thử làm xem. Cảm ơn bạn nhé!!! Thế ngoài việc dùng để check form đăng ký ra, ajax còn có thể làm gì nữa nhỉ :"> Nó có nên dùng để làm các công việc như insert user vào db, hay là xóa thông tin gì trong db ko? smilie Hay chỉ nên dùng để truy xuất và hiện thị dữ liệu thôi smilie 

Có nên dùng vào mục đích nào đó hay không thì phải phụ thuộc vào các yếu tố:
1. Có dễ sử dụng không? Có gây rắc rối gì cho người dùng không?
2. Có đảm bảo sẽ kiểm soát được các lỗi có thể xảy ra không
và nhiều yếu tố nữa chưa nghĩ ra smilie
Nếu trả lời xong được các câu hỏi đó thì bạn sẽ biết có nên hay không smilie  


Đấy đấy... Đúng rồi đấy... Vì mình chưa trả lời được 2 câu này nên mình mới phải post bài hỏi mọi người. Đọc sách chỉ thấy nó nói ajax có thể làm được cái này cái nọ mà chẳng nói đến lỗ hổng bảo mật của nó ra sao, ảnh hưởng thế nào tới người dùng smilie Nhưng theo cách hiểu của tớ (còn đang non kém) là không nên làm những công việc như thêm, sửa, xóa db => sợ bị hack lắm smilie Dùng câu lệnh select thôi. Nhưng nghĩ lại thấy nếu nó dùng sql injection, thêm dấu -- vào đằng sau, rồi chèn thêm câu lệnh delete nữa thì chít smilie( (mặc dù có thể validate input được cái này, nhưng chắc vẫn có cách phá được cái validate đấy :">, nếu không thì cái thằng sql injection không nổi tiếng như thế smilie) )

ngonchan wrote:

proA.Vito wrote:

Cảm ơn ý kiến của anh :X ... Nhưng vấn đề em đang thắc mắc là khi mình thì muốn check sự tồn tại của thằng user đó, nhưng do lỗi hổng bảo mật mà em vừa nói, thì công việc check đó ko thực hiện được... Đầu tiên phải lo đến việc có thực hiện được việc check hay không đã rồi mới dám tính nó check thế nào chứ anh hi` hi`.  


À à, có cách này, bạn xem thử có hợp lý không nhé smilie
1.Trong trang reg nick, mặc định bạn sẽ cho disable nút submit (hoặc disable sự kiện submit của form).
2.Khi sau khi dùng Ajax để check cái username đó, nếu và chỉ nếu server side trả về status của username là available thì cũng đồng thời trả về một biến, mình dựa vào giá trị của biến này để enable sự kiện submit form kia. Điều này sẽ tránh được trường hợp như bạn nói, không kiểm tra nick thì sẽ không có giá trị trả về để enable sự kiện submit.
Hy vọng là mình viết không quá khó hiểu smilie  


Oh` ý tưởng của bạn khá hay... Để mình thử làm xem. Cảm ơn bạn nhé!!! Thế ngoài việc dùng để check form đăng ký ra, ajax còn có thể làm gì nữa nhỉ :"> Nó có nên dùng để làm các công việc như insert user vào db, hay là xóa thông tin gì trong db ko? smilie Hay chỉ nên dùng để truy xuất và hiện thị dữ liệu thôi smilie

learn2hack wrote:
Khi dùng js (clien script) để gửi thông tin lên web server, ở đó bạn sẽ chạy 1 script nào đó như PHP (server script) dùng để tiếp nhận thông tin đó, xử lí nó và trả lại kết quả cho client script trên. Để tránh lỗi bảo mật thì khi server script khi nhận được thông tin cần phải kiểm tra rõ ràng trước khi xử lí, để tránh các lỗi phát sinh, VD như request ko hợp lệ, request chứa các mã nguy hiểm, ...

VD như script về register ngonchan nói ở trên, có thể minh họa tạm thế này:
người dùng đăng kí, điền vào username => js được kích hoạt kèm theo sự kiện nào đó (onblur chẳng hạn) => gửi request (chứa username) đến server => server client, giá sử là PHP sẽ nhận username đó => PHP query database xem username tồn tại ko => PHP trả lại kết quả cho client => JS bắt được kết quả này và hiển thị cho người dùng.

Ajax cũng có 1 quy ước nhằm tránh lỗi bảo mật là không cho phép cross-domain, nếu file js của bạn ko nằm cùng 1 domain với serverscript thì ko thể gửi request đến được.

PS: gọi là server-side và client-side chắc hợp lí hơn nhỉ smilie 


Cảm ơn ý kiến của anh :X ... Nhưng vấn đề em đang thắc mắc là khi mình thì muốn check sự tồn tại của thằng user đó, nhưng do lỗi hổng bảo mật mà em vừa nói, thì công việc check đó ko thực hiện được... Đầu tiên phải lo đến việc có thực hiện được việc check hay không đã rồi mới dám tính nó check thế nào chứ anh hi` hi`.

ngonchan wrote:

Chứ mình có nói Ajax không dùng các sự kiện trên Javascript đâu hè smilie Bản thân cái tên Ajax cũng nói lên điều này (truy xuất bất đồng bộ giữa Javascript và XML)
Về đoạn màu đỏ: đây là một trong những lỗi bảo mật của Ajax mà bạn đã hỏi, do đó, để tránh điều này thì bạn phải kết hợp cả client side và server side để tránh tình trạng bị tùy biến và điều khiển trên client side. 


Thì em có nói là anh bảo ajax không dùng javascript đâu, câu đó chỉ là tiền đề cho câu sau của em thôi mà :"> Anh có nói rõ việc kết hợp server script và client script hơn được ko ạ

ngonchan wrote:
1. Bạn có thể thử qua JQuery framework, dễ học, dễ sử dụng.
2. vd cho bạn một chức năng: kiểm tra tên đăng nhập khi người dùng đăng kí thành viên vào trang web, sử dụng Ajax để xem tên người dùng vừa nhập vào đã tồn tại hay chưa.
3. Giải quyết 2 cái trên đi đã smilie 


Em tưởng là dùng ajax thì là dùng các sự kiện trên javascript, vị dụ sự kiện onblur ở ô text vừa nhập tên đấy xong, thì view source sẽ có đoạn onblur='tên hàm javascript', xóa đoạn đấy đi, lưu vào 1 file html khác, rồi chạy file đó lên. Thế là ko còn kiểm tra được cái tên user đó đã tồn tại chưa smilie Em nghĩ thế, ko biết có đúng ko nữa :">
Thời gian này em đang nghiên cứu về AJAX, nhưng cũng có nhiều điều mà em cảm thấy không rõ lắm. Em đã tìm hiểu nhiều quyển sách, nhưng cũng chỉ nói sơ qua về các khía cạnh này... Mong mọi người giứp đỡ em ạ!!!

1) AJAX có rất nhiều framework hỗ trợ, mà em thì chẳng biết nên dùng cái nào... Mọi người có thể tư vấn cho em được ko ạ?
2) Trong 1 trang web thuơng mại thì mình nên đưa ajax vào những chức năng nào?
3) Em nghe nói AJAX có khá nhiều lỗ hổng bảo mật. Đó là những lỗi nào và cách khắc phục ra sao.

Thanks mọi người nhiều :X :X :X

nbthanh wrote:

proA.Vito wrote:

iam60487 wrote:
Bạn nói thử xem cái này có ứng dụng như thế nào cho trang web của bạn?
Mình nghĩ không nên làm vì:
+ Mỗi user mỗi tài khoản, đăng ký thì dễ lại chẳng giới hạn thành viên(hay web của bạn ngược lại?) cho nên chẳng ai dùng tk người khác đâu (không xét trường hợp mất pass).
+ Làm thế này làm cho máy chủ chạy chậm hơn là dùng session.

Có gì xin chỉ bảo!

 


Mình nghĩ nếu để 2 user đăng nhập cùng lúc, thì người không phải chủ thật của acc đó sử dụng acc này để làm những việc linh tinh thì không tốt, ví dụ post bài linh tinh, thay đổi thông tin cá nhân, ăn cắp thông tin, ... Ví dụ như 1 web bán hàng, thằng kia vào thay đổi thông tin liên hệ của acc đó như số điện thoại (nếu trang đó xác thực việc đặt hàng bằng cách gọi điện), rồi đặt một món hàng nào đó. Thì trang web sẽ gửi món hàng về cho người chủ thật mà người đó không biết. Rồi nhiều trang web khác nữa, mọi trang mình nghĩ sẽ nảy sinh nhiều vấn đề khác nhau...

Nhưng thực ra cái việc này rất hiếm xảy ra, vì rất ít khi 2 người đăng nhập cùng lúc. Nhưng mình nghĩ nên chặn được bao nhiêu thì cứ chặn thôi smilie

Nếu mình nghĩ sai thì mọi người góp ý nhé!!! Thanks mọi người 

Vậy bạn nghĩ tiếp đi là nếu bạn có chức năng đó thì nó có giải quyết được vấn đề không?

1. Chủ nhân thật login trước --> "tên kia" không login được ==> tốt
2. "Tên kia" login trước --> chủ nhân thật chỉ còn nước khóc, không login vào để đổi password hay "đẩy" tên kia ra được ==> bạn tự nghĩ hậu quả smilie

==> vậy vấn đề cốt yếu là 1. Nó có giải quyết được vấn đề không? 2. Nó có làm phát sinh thêm vấn đề gì nữa không? 


Uhm đúng... Cái này mình chưa nghĩ đến. Ẩu và thiển cận quá. Công nhận là tự nhiên mình vẽ chuyện thêm ra, và làm rắc rối thêm vấn đề smilie) Thanks mọi người nhiều !!!

iam60487 wrote:
Bạn nói thử xem cái này có ứng dụng như thế nào cho trang web của bạn?
Mình nghĩ không nên làm vì:
+ Mỗi user mỗi tài khoản, đăng ký thì dễ lại chẳng giới hạn thành viên(hay web của bạn ngược lại?) cho nên chẳng ai dùng tk người khác đâu (không xét trường hợp mất pass).
+ Làm thế này làm cho máy chủ chạy chậm hơn là dùng session.

Có gì xin chỉ bảo!

 


Mình nghĩ nếu để 2 user đăng nhập cùng lúc, thì người không phải chủ thật của acc đó sử dụng acc này để làm những việc linh tinh thì không tốt, ví dụ post bài linh tinh, thay đổi thông tin cá nhân, ăn cắp thông tin, ... Ví dụ như 1 web bán hàng, thằng kia vào thay đổi thông tin liên hệ của acc đó như số điện thoại (nếu trang đó xác thực việc đặt hàng bằng cách gọi điện), rồi đặt một món hàng nào đó. Thì trang web sẽ gửi món hàng về cho người chủ thật mà người đó không biết. Rồi nhiều trang web khác nữa, mọi trang mình nghĩ sẽ nảy sinh nhiều vấn đề khác nhau...

Nhưng thực ra cái việc này rất hiếm xảy ra, vì rất ít khi 2 người đăng nhập cùng lúc. Nhưng mình nghĩ nên chặn được bao nhiêu thì cứ chặn thôi smilie

Nếu mình nghĩ sai thì mọi người góp ý nhé!!! Thanks mọi người
Vậy làm thế nào để giải quyết được vấn đê của em ạ khi mà cơ chế "SSO" khác ... nửa vòng trái đất với cái mà em hỏi ạ!!! smilie(

prixaco wrote:
không dùng được onunload thì dùng cách khác vậy
- đầu tiên trong bảng loginOfUser bạn thêm 1 cột là Time
Khi login thì ghi thời gian thực và cột Time đó
- Trong code PHP bạn Sét thời gian OUT cho Session hoặc Cookies là 30p hoặc tùy ở đây mình lấy 30p

Khi login bạn check thêm thời gian thực và thời gian trong database là được 


Mình đã nghĩ đến phuơng pháp này rồi. Nhưng nó có 1 vài nhược điểm khá lớn như là: một thằng user đang dùng bình thường, tự nhiên 30 phút sau bị sigh out, mà ko rõ lý do => củ chuối. Thứ 2 là cứ cho là bị mất điện, sign out ra thế là hợp lý. Nhưng chưa được 30 phút sau, nó lạ muốn đăng nhập lại, nhưng dòng trong db vẫn chưa được xóa => vẫn không đăng nhập được => không ổn smilie(

nbthanh wrote:

proA.Vito wrote:

ducmanh wrote:
Ý của anh ấy là giả sử user login rồi tự nhiên treo máy, mất điện,... cắm PC ở nhà rồi vác Laptop ra ngoài dịch vụ, đi làm hay bất cứ máy khác thì cũng sẽ kô login được do chưa click "close" để đóng trình duyệt hay logout

 


Cái em muốn hỏi anh là cơ chế "Single Sign On" cơ. Nhưng em cũng lên google search rồi... Em cũng hiểu cái cơ chế này là gì rồi hi` hi`. Cảm ơn ông anh đã hướng dẫn :X 

Cái Single Sign On và cái bạn hỏi trong bài đầu tiên nó khác nhau...nửa vòng trái đất!
Tôi đang tự hỏi không biết bạn có thực sự hiểu cái mà bạn đã post lên không nữa. 


Thực ra thì em cũng mới chỉ đọc qua về cái cơ chế single sign on này. Em cũng không biết là có đúng ko nữa... Em hiểu nó là một kĩ thuật liên quan đến hệ thóng, cho phép đăng nhập một lần cho tất cả hệ thống... Và có 1 cơ chế tuơng tự là single sign off... Em nghĩ cũng có ý tuơng quan với câu hỏi của em thôi. Nhưng anh lại bảo là khác nửa vòng trái đất thì chắc là do em chưa tìm hiểu kĩ lắm. Vì em mới tìm được 1 ít thông tin về nó, nhưng có vẻ nó hơi xa với kiến thức hiện tại của em, Nên em chưa thực sự nghiên cứu (vì chưa đủ trình độ), mà để 1 thời gian nữa.

Nếu em có gì sai, mong các anh chỉ dẫn... hi` hi`. Thanks các anh!!!
Mình nghĩ là bạn nên tự đặt câu hỏi cho chính mình là: "Bạn học để làm gì" thì mình nghĩ bạn sẽ có câu trả lời cho topic của bạn smilie

ducmanh wrote:
Ý của anh ấy là giả sử user login rồi tự nhiên treo máy, mất điện,... cắm PC ở nhà rồi vác Laptop ra ngoài dịch vụ, đi làm hay bất cứ máy khác thì cũng sẽ kô login được do chưa click "close" để đóng trình duyệt hay logout

 


Cái em muốn hỏi anh là cơ chế "Single Sign On" cơ. Nhưng em cũng lên google search rồi... Em cũng hiểu cái cơ chế này là gì rồi hi` hi`. Cảm ơn ông anh đã hướng dẫn :X

prixaco wrote:
Dơn giản như đan rổ bạn sử dung onunload
Code:
onunload="logout.php"

bạn có thể gán thẳng bào body hoặc dùng javascript cụng được
_Thành mới có gì không phải mong các bạn chỉ bảo_ 


Mình đã nghĩ đến cách này rồi. Nhưng vì đây lại là code của javascript... User có thể view source của nó lên, xóa cái dòng này đi, view trang html mà code ko có cái dòng kia rồi ấn close, và cái dòng trong db kia vẫn không bị xóa smilie(

nbthanh wrote:
Giải quyết được vấn đề click nút close thì cũng đâu có giải quyết được vấn đề rớt mạng hay cúp điện --> user lần sau cũng không login vào lại được.
==> vậy cái cần nên sửa chính là cái cơ chế bắt user chỉ được login 1 lần kìa!
 


Em chưa hiểu rõ cái cơ chế của anh lắm. Anh có thể nói rõ hơn được không ạ!!! Thanks anh nhiều :X

thuandx wrote:
sao bạn kô thử dùng cookie hay session, cách này đơn giản hơn nhiều. không phải lưu trữ info user vào database.

Ps: nên dùng session thì tốt hơn. 


Hi` hi`... Mình đã dùng rồi. Nhưng nếu chỉ dùng mỗi session không thì sẽ có một vấn đề nảy sinh là: một thằng ở máy khác mà đăng nhập bằng cái acc của thằng kia thì thế nào... Không có cái bảng đấy thì 2 thằng cùng log in thành công ah` smilie) Nên mình mới nghĩ đến giải pháp là cái bảng kia, nhưng cái bảng kia thì đang gặp cái vấn đề đang nêu ở topic :">
Các đàn anh cho em hỏi tí về PHP ạ!!!

Em đang làm phần đăng nhập và đăng xuất cho user. Khi user đăng nhập vào website, thì sẽ add 1 dòng vào bảng loginOfUser trong database. Khi logOut thì sẽ xóa cái dòng đó trong db. Nhưng khi ấn vào nút close của trình duyệt, thì nó tắt luôn mà chưa kịp xóa cái dòng database kia... Như vậy là nếu lần sau đăng nhập bằng nick đó thì sẽ có báo lỗi là đã có người đăng nhập bằng nick này rồi. Vậy em xin hỏi cách giải quyết cho vấn đề này như thế nào a?

Cảm ơn các anh rất nhiều ạ!!!
Bạn thử dùng reflection API trong lập trình hướng đối tượng của PHP xem...!!! smilie

minhhuy001122 wrote:
Hacker tấn công được 1 website thì anh ta phải rất hiểu cách tạo ra nó. Ví dụ như các sản phẩm open source như bọn Joomla 1.5, phpbb3 có nhiều người tìm ra lỗi bảo mật của nó vì họ đọc được code ( tôi nằm trong số đó, hehe smilie). 
uay` đàn anh tự tin thật. Anh làm php lâu chưa ạ? :"> Em đang làm dự án về nó, có j anh chỉ dẫn em vài đường nhé :X :X :X

TonjDua wrote:
Vâng ạ ! Em nghe theo lời mấy anh nói ngay, hiện nay thì em chỉ dở môn nào tính tính toán toán thâu... Còn mấy môn khác thì em học cũng bình bình, hiện nay thì em đang tích cực để học cho cái đầu "ngu dốt" này nâng cấp thêm được 1 tý...
Em lười khi không có gì hứng thú thôi còn mấy cái vụ này thì khác smilie
Lập trình thì em cũng đọc qua 1 số e-book và nắm được vài khái niệm cơ bản rồi, nhưng mà để trở thành Hacker giỏi thì phải học qua 6 loại ngôn ngữ lận, sự thật có phải vậy không mấy anh ? Học như vầy thì 10 năm sau đẻ được đứa thứ 1 rồi mới trở thành Hacker quá...smilie 


- Chài!!! Nhận mình dốt là thói quen ko tốt đâu...!!! Tự tin lên tí đê. smilie
- Nếu có đam mê thì "vụ này" chắc sẽ thành công đấy bạn ah` !!! Cố lên nhé smilie
- Không phải là học 10 ngôn ngữ lập trình khó đâu, mà là có dám học 10 ngôn ngữ lập trình không mà thôi. Đó là lý do mà chẳng mấy ai thành công được cả. Bạn nên nhớ 1 câu rằng: "Đường đi khó không phải vì ngăn sông cách núi, mà vì lòng người ại núi e sông" !!!
 
Go to Page:  Page 2 Last Page

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