Chủ Nhật, 30 tháng 1, 2011

Những phần mềm diệt virus Antivirus miễn phí của năm 2011

Với khả năng quét và phát hiện cao, cùng với giao diện thân thiện, Avast Free Antivirus đã đứng đầu trong bảng xếp hạng này; Avira AntiVir Personal đứng thứ 2 nhưng cũng có khả năng phát hiện và loại bỏ phần mềm độc hại một cách hiệu quả. Avast Free Antivirus 5 Avast Free Antivirus là một bộ gói sản phẩm chống virus toàn diện: nó là một bức tường vững chắc trong việc ngăn chặn các phần mềm độc hại; với một giao...

Thứ Bảy, 29 tháng 1, 2011

Cách kiểm tra bảo mật trình duyệt web

Cũng giống như các phần mềm, mã code của trình duyệt Web có thể bị tấn công hoặc chứa những lỗ hổng dễ bị hacker hướng tới.Sau đây chúng tôi xin chia sẻ với bạn đọc một số cách kiểm tra bảo mật trình duyệt web 1. Browserscope Khi truy cập trang web Browserscope, điều đầu tiên bạn thấy là kết quả kiểm tra về việc so sánh rất nhiều khía cạnh của một trình duyệt web cơ bản. Do bài báo này nói về vấn đề bảo mật của trình...

Cách đặt mật khẩu cho trang web hay thư mục trong website

 Trước tiên, chúng ta tạo tệp .htpasswd chứa tên và mật khẩu người dùng áp dụng cho máy chủ Apache 1.3.23 trên máy cục bộ với hệ điều hành Windows XP SP2. username1:password1 username2:password2 trong đó mật khẩu password1, password2,… đã được mã hóa. Có nhiều cách để tạo tệp này. Có thể truy cập vào 1 số trang web trợ giúp, trong đó chỉ cần nhập tên và mật khẩu là được, trang web sẽ tự động mã hóa và tạo ra file cần thiết, bạn chỉ cần sao chép nó là được. Tuy nhiên cách làm này đôi khi tạo ra mật khẩu không thích hợp với hệ thống của...

Thứ Sáu, 28 tháng 1, 2011

Định nghĩa background cho một thẻ trong CSS

Thuộc tính background trong CSS, nó sẽ cho phép chúng ta tùy biến màu nền của một thẻ HTML đặt một ảnh làm nền (background), làm cho một ảnh có thể lặp đi lặp lại (repeat) theo chiều ngang hoặc theo chiều dọc, chúng ta cũng có thể định vị một ảnh ở một vị trí nào đó trên trang. Thuộc tính background bao gồm: background-color:#ffffff; /*màu nền*/background-image:url(css_series.jpg); /*ảnh nền*/background-repeat:repeat-x; /*Lặp lại*/background-position: center bottom; /*Vị trí*/ Hoặc ta có thể khai báo gộp lại như sau background: #ffffff url(css_series.jpg)...

Thuật toán tính hàm mũ

Trong Pascal ta có thể tính a^b bằng công thức exp(b*ln(a)). Tuy nhiên nếu a không phải là số dương thì không thể áp dụng được. Ta có thể viết hàm mũ an như sau:function hammu(a : real; n : integer): real;var s : real;i : integer;begins := 1;for i := 1 to n do s := s * a;hammu := s;end; Theo lập trình...

Thuật toán nhập và in mảng 2 chiều dạng ma trận

Chương trình thực hiện nhập và in mảng 2 chiều dạng ma trận (m dòng, n cột) 1. Nhập Để nhập các phần tử của mảng 2 chiều dạng ma trận, ta cần dùng các lệnh sau của unit CRT (nhớ phải có khai báo user crt ở đầu chương trình). GotoXY(a,b): di chuyển con trỏ màn hình đến vị trí (a,b) trên màn hình (cột a, dòng b). Màn hình có 80 cột và 25 dòng.whereX: hàm cho giá trị là vị trí cột của con trỏ màn hình. whereY: hàm cho giá trị là vị trí dòng của con trỏ màn hình. Khi nhập 1 phần tử ta dùng lệnh readln nên con trỏ màn hình sẽ xuống dòng, do đó cần...

Thuật toán tính tổng ước số của số nguyên

Để tính tổng các ước số của số n, ta cho i chạy từ 1 đến n div 2, nếu n chia hết cho số nào thì ta cộng số đó vào tổng. (Chú ý cách tính này chưa xét n cũng là ước số của n). Chương trình:function tongus(n : integer): integer;var i,s : integer;begins := 0;for i := 1 to n div 2 doif n mod i = 0 then s := s + i;tongus := s;end;Theo lập trình...

Thuật toán tô màu SDO

Thuật toán SDO (Saturation Degree Ordering) : do Brèlaz đề xuất năm 1979 [12]. Đây cũng là một thuật toán tô mầu tuần tự các đỉnh. SDO cải tiến FF ở chỗ các đỉnh được tô mầu không theo số thứ tự của đỉnh, mà theo thứ tự bậc SD từ lớn tới bé. Trong đó bậc SD của đỉnh x được tính bằng số mầu khác nhau đã dùng để tô cho các đỉnh kề với x. Chương trình:#include #include #include int *doc_tep(int *a,int *n);void in_matran(int *a,int n);int *bac_dinh(int *a,int n);int max(int *b,int n);int ktra_mau(int *a,int *b,int *c,int n,int x);void ToMau(int...

Bảo mật Session trong lập trình PHP

Có hai kiểu tấn công session phổ biến nhất đó là session cố định(session fixation) và cướp session ( session hijacking)Khi một người triệu gọi trang web lần đầu tiên ứng dụng sẽ gọi session_start() để tạo ra sesion cho user. PHP sẽ tự động sinh ngẫu nhiên một định danh khác nhau cho mỗi user. Và sau đó nó send tạo một trên cookies với tên mặc định là PHPSESSID bạn có thể thay đổi tên mặc định của nó bằng cách thay đổi nó trong php.ini hoặc dùng hàm session_name() . Từ lần viếng thăm sau nó sẽ định danh user bằng cookies. Tuy nhiên có thể...

Bảo mật Filesystem trong lập trình PHP

PHP có khả năng truy cập trực tiếp hệ thống files và có thể thực hiện các lệnh shell, nó cung cấp cho các nhà phát triển sức mạnh lớn, nó thực sự nguy hiểm khi làm hỏng dữ liệu đầu cuối bằng các comand line. Một lần nữa dữ liệu lại phải lọc. 1. Thực thi mã lệnh từ xa(remote Code Injection ) Khi khai báo chèn vào file bằng include hoặc requre chú ý cẩn thận khi sử dụng dữ liệu “hỏng” để tạo một sự khai báo bao hàm(include) động trên dữ liệu nhập từ client, bởi vì một lỗi có thể dễ dàng cho phép hacker có thể thực hiện các cuộc tấn công từ...

Những khái niệm cơ bản trong Java

Trước khi tìm hiểu Java hay bất kỳ một ngôn ngữ lập trình nào, như đã nói trong phần mở đầu, chúng ta nên tìm hiểu một số khái niệm căn bản. Có lẽ khi tìm hiểu về lập trình, dù là đã khá lâu hay mới…hôm qua Laughing thì bạn cũng đã nghe tới hệ đếm nhị phân, thập phân…Tại sao lại cần những cái đó nhỉ? Chúng ta thường đếm 1,2,3,4,5… Nhưng khổ nỗi, ngay cả mấy con số đơn giản đó máy tính cũng không thể hiểu! Nó chỉ hiểu được hai trạng thái: có-không, bật -tắt, có tín hiệu-không có tín hiệu… Nói cách khác, nếu ta qui định sô 0 là một trạng thái...

Thuật toán tô màu LDO

Thuật toán LDO (Largest Degree Ordering): do De Werra đề xuất năm 1990 [13]. Tương tự như SDO, LDO là một cải tiến của FF, trong đó các đỉnh được tô mầu theo thứ tự bậc của đỉnh từ lớn tới bé. Chương trình:#include #include #include int *doc_tep(int *a,int *n);void in_matran(int *a,int n);void in(int *b,int n);int dem(int *b,int n);int max(int *b,int n);void up_date(int *a,int *SD,int *ToMau,int n);int ktra_mau(int *a,int *b,int *c,int n,int d,int x);void ToMau_SDO(int *a,int n);int main(){int n,*a;a=doc_tep(a,&n);in_matran(a,n);ToMau_SDO(a,n);getch();return...

Thứ Sáu, 21 tháng 1, 2011

Những mẹo cần biết khi lập trình .NET

Chúng tôi xin đưa ra các phương pháp giải quyết các vấn đề mà các nhà phát triển .NET thường gặp. Hy vọng chúng sẽ giúp ích cho các bạn. 1. Làm thế nào giới hạn một chương trình chỉ chạy một lần Trong form chính đổi thành như sau: ?12345678910111213static void Main(){Process ThisProcess = Process.GetCurrentProcess();Process [] AllProcesses = Process.GetProcessesByName(ThisProcess.ProcessName);if (AllProcesses.Length > 1){MessageBox.Show(ThisProcess.ProcessName + '' is already running'', ThisProcess.ProcessName, MessageBoxButtons.OK,...

Thêm dữ liệu vào trong một trường nText vào SQL Server

Rất nhiều lập trình viên hỏi làm thế nào để thêm (insert) dữ liệu vào trong một trường nText vào SQL Server với ADO. Phần lớn các câu SQL thường dùng string chuẩn và nó sẽ gặp vấn đề khi cập nhật các ký tự đặc biệt. Sau đây chúng tôi sẽ giúp các bạn tránh được các lỗi thường gặp đó. ?12345678910111213141516171819202122232425Dim lRecsDim moADOConDim moADOCom Set moADOCon = Server.CreateObject(''ADODB.Connection'')Set moADOCom = Server.CreateObject(''ADODB.Command'') moADOCon.Open ''your connection string'' With moADOCom.ActiveConnection = moADOCon.CommandText...

Mẹo cải thiện tốc độ cho PHP

Sau đây là một số mẹo nhỏ cải tiện tốc độ cho PHP mời bạn đọc tham khảo- Nếu có thể khai báo hàm tĩnh thì có thể tăng tốc độ lên 4 lần.- Echo thì nhanh hơn Print. - Sử dụng nhiều câu lệnh Echo thay vì Echo 1 chuỗi nối vào nhau. - Đặt giá trị lớn nhất cho vòng lặp for trước, và ko đặt trong vòng lặp for. - Hủy các biến bằng hàm unset() để giải phóng bộ nhớ sau khi sử dụng, đặc biệt là những mảng lớn. - Tránh dùng các định nghĩa kiểu: __get, __set, __autoload. - Tránh dùng hàm require_once(). - Sử dụng đường dẫn đầy đủ trong includes và requires....