[Question] Hỏi về javascript |
01/06/2011 15:29:48 (+0700) | #1 | 238366 |
xBoyx
Member
|
0 |
|
|
Joined: 04/12/2010 08:58:30
Messages: 37
Offline
|
|
em chỉ biết sơ về javascript thôi, em có một thắc mắc này. các đoạn mã javascript được tải về chạy phía client vậy phía client có thể sửa lại code javascript để chạy theo ý mình muốn được không? giống như kiểu patch chương trình vậy đó
ví dụ như đoạn mã sau dùng để kiểm tra tên đăng nhập vào một chatroom, chỉ được nhập tên là các chữ cái, không được có các kí tự lạ như %><?~. Vậy làm sao có thể hack được?
<<em chỉ muốn học hỏi thêm về bảo mật, không có ý định phá hoại mong các anh đừng hiểu nhầm>>
function check() {
var i=0;
var strtopic=document.login.username.value;
//Xử lý khoảng trắng đầu chuỗi
if(strtopic.substring(i,i+1)==" "
while(strtopic.substring(i,i+1)== " " {
alert("Kí tự đầu tiên không được nhập khoảng trắng !!!"
document.getElementById('u1').value="";
document.login.username.focus();
i++;
return false;
}
for(;i<strtopic.length;i++) {
if(!isNaN(strtopic.charAt(0))) {
alert("Bắt đầu không thể là một kí tự số !!!");
document.getElementById('u1').value="";
document.login.username.focus();
return false;
}
//Xử lý khoảng trắng giữa chuỗi
/*if(strtopic.substring(i)==" ") {
alert("Nick không được có khoảng trắng !!!")
document.getElementById('u1').value="";
document.login.username.focus();
return false;
}*/
continue;
}
String.prototype.cleanup = function() {
//return this.toLowerCase().replace(/[^a-zA-Z0-9]+/g, "_");
return this.replace(/[^a-zA-Z0-9-_]+/g, "_");
}
// Using our new .cleanup() method
var clean = strtopic.cleanup(); // hello-world
document.getElementById('u1').value=clean;
return true;
}> |
|
|
|
|
[Question] Hỏi về javascript |
02/06/2011 17:14:31 (+0700) | #2 | 238473 |
xBoyx
Member
|
0 |
|
|
Joined: 04/12/2010 08:58:30
Messages: 37
Offline
|
|
sao không bạn nào trả lời dùm mình hết vậy. mình thực sự rất muốn biết mà |
|
|
|
|
[Question] Hỏi về javascript |
02/06/2011 23:52:43 (+0700) | #3 | 238543 |
|
khigiadano
Member
|
0 |
|
|
Joined: 27/02/2008 18:20:56
Messages: 370
Location: http://aspx.vn
Offline
|
|
Để "hack" như bạn nói thường thì cũng chẳng cần dùng đến những ký tự mà bạn muốn chặn như %><?~
Bạn có nắm về các lệnh truy vấn SQL không ? |
|
Yahoo ID: khigiadano - Tel: 0907.870.676 - Email: khigiadano@gmail.com
Mình rất kém, vào đây học hỏi kinh nghiệm thôi... |
|
|
|
[Question] Hỏi về javascript |
03/06/2011 07:35:46 (+0700) | #4 | 238590 |
xdvkxdvk
Member
|
0 |
|
|
Joined: 23/05/2007 10:13:58
Messages: 27
Offline
|
|
giả sử đã hoàn thành kiểm tra xong dữ kiệu nhập, nhưng người ta bắt packet và edit nó trước khi send cho server thì sao hả bạn . |
|
|
|
|
[Question] Hỏi về javascript |
03/06/2011 08:47:44 (+0700) | #5 | 238599 |
|
.lht.
Member
|
0 |
|
|
Joined: 26/09/2010 10:06:38
Messages: 75
Location: Inside you
Offline
|
|
|
Trash from trash is the place for new good things ~ |
|
|
|
[Question] Hỏi về javascript |
03/06/2011 10:30:30 (+0700) | #6 | 238614 |
|
secmask
Elite Member
|
0 |
|
|
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
|
|
Validate phía client bằng javascript chỉ mang tính tiện ích, một user hoàn toàn bypass tất cả những đoạn check của bạn ở phía client(sử dụng javascript), nên phía server phải kiểm tra lại tất. |
|
|
[Question] Hỏi về javascript |
08/06/2011 00:38:17 (+0700) | #7 | 239649 |
|
keyboardDigger
Member
|
0 |
|
|
Joined: 27/03/2008 16:45:48
Messages: 26
Offline
|
|
Chính xác. Vì hầu như chẳng ai phó mặc sự an toàn của mình cho phần xử lý phía client (dễ dàng bị xào nấu tất tần tật dễ như nghịch xâu ký tự vậy), cho nên thường thì có lẽ bạn không bẻ được gì từ chỗ code này đâu |
|
Thấy vui mỗi lần nhận ra mình có thể viết lại sản phẩm trong quá khứ hiệu quả và gọn gàng hơn 1 nửa |
|
[Question] Hỏi về javascript |
08/06/2011 10:50:56 (+0700) | #8 | 239698 |
xBoyx
Member
|
0 |
|
|
Joined: 04/12/2010 08:58:30
Messages: 37
Offline
|
|
cảm ơn các bạn. Mình đã thử và kiểm chứng đúng là như vậy |
|
|
|