Thứ Hai, 19 tháng 8, 2013

Học php cơ bản tại ba đình hà nội - Bảo mật cho website của bạn 1

Thêm chú thích

Tại ba đình hà nội, diễn đàn chia sẻ kiến thức cơ bản học php và Mysql, chia sẻ kiến thức bảo mật cho website của bạn.

Vửa qua chắc hẳn các bạn cũng nghe thông tin về việc hàng loạt các site chính phủ và nhiều site nhỏ lẻ ở VN bị hacker TQ tấn công (mặc dù là do hacker VN tấn công trước) nhưng như vậy đã nói lên vấn đề bảo mật đáng báo động của cả 2 nước. Tình cờ ghé ngang HVA thấy có bài viết tổng quát về bảo mật khá hay, xin được biên soạn lại trình bày cho các bạn đọc.

Blog học php cơ bản tại ba đình hà nội xin tổng hợp 5 dạng tấn công hay xảy ra:
  1. Bị các lỗi bảo mật thông thường do không cập nhật bản vá
  2. Bị SQL injection do lập trình không chú trọng bảo mật
  3. Bị Cross site scripting từ những tiện ích javascript và do không kiểm soát nhập / xuất
  4. Bị đánh cắp tên miền
  5. Bị tấn công từ chối dịch vụ
Vậy chúng ta phải làm gì trước những dạng tấn công đó ? Bây giờ hãy đến chi tiết từng phần để hiểu rõ hơn cách tấn công của hacker và phương pháp phòng thủ.
Các bạn xem chi tiết ở đây : http://hocphpcobanhn.blogspot.com/
Blog hướng dẫn cơ bản học php tại ba đình hà nội cũng  xin chia sẻ một số link học php từ căn bản đến chuyến sâu cho các bạn sv hà nội quan tâm:
  1. Tại mỹ đình hà nội : http://hocphpcobanmydinhhn.blogspot.com/
  2. Tại cầu giấy hà nội : http://hocphpcobancaugiayhn.blogspot.com/
Các bạn có thể học hỏi thêm và tham khảo ở trang chủ chia sẻ kiến thức về sql và PHP tại đây :
http://daotaolaptrinh.edu.vn/tai-lieu-php.html
Chúc các bạn thành công !!
 

Thứ Ba, 13 tháng 8, 2013

HỌC PHP CƠ BẢN TẠI BA ĐÌNH HÀ NỘI - CÁC CÂU LỆNH CĂN BẢN TRONG MYSQL

Tại ba đình hà nội, diễn đàn chia sẻ kiến thức cơ bản học php và Mysql, chia sẻ kiến thức các câu lệnh trong mysql.
MySQL command là một công cụ khá hữu hiệu và dễ dàng thao tác với việc quản trị MySQL trên server web. Nếu bạn là người quản trị website và thường xuyên backup data của website để tránh rủi ro xảy ra thì việc dùng command cho những database có dung lượng lớn là điều tuyệt vời nhất.

1.SHOW DATABASES: Hiển thị tất cả database trong mysql server
show databases;
2. CREATE DATABASE: Tạo 1 database
Mẫu: create database {tên database};
Ví dụ tạo 1 database có tên là "tintuc" như sau
create database tintuc;
3. USE DATABASE : Chọn database để sử dụng:
Mẫu: use {tên database}
Ví dụ khi muốn sử dụng database "tintuc" đã được tạo ở trên
use tintuc;
4. DROP DATABASE : Xóa 1 database
Mẫu : drop database {tên database};
Ví dụ khi muốn xóa database có tên là "tintuc"
drop database tintuc;

Các câu lệnh liên quan đến TABLE
5. SHOW TABLES : Hiển thị tất cả các table trong 1 database
show tables from {tên database};
Hoặc là đầu tiên bạn vào database đó sau đó dùng show tables, command như sau:
use tintuc;
show tables;
6. CREATE TABLE: Tạo 1 Table
Mẫu create table [tên table] (cột 1, cột 2...);
Ví dụ muốn tạo 1 table có tên là "member" có 2 cột dữ liệu là "userid" và "username"
create table member (userid int(7), username text);
7. INSERT INTO: Nhập data vào table.
Mẫu: insert into [tên table] ([cột 1],[cột 2],......) values (giá trị 1, giá trị 2,....);
Vị dụ nhập dữ liệu cho table "member" đã được tạo ở trên.
insert into member (userid,username) values (1,'champi');
8. SELECT: Lấy data từ database lên để hiển thị
Mẫu : select {tên cột muốn hiển thị} from [tên table];
Ví dụ lấy tất cả các cột.
select * from member;
Hoặc là chỉ lấy 1 số cột nhất định
select username from member;
9. UPDATE: Sửa đổi dữ liệu trong TABLE
Mẫu : update [tên table] set [cột muốn sửa]='giá trị mới' where [điều kiện] = 'giá trị';
Ví dụ muốn sửa tên thành viên "champi" thành "anh champi" (userid của champi là bằng 1) do đó câu lệnh như sau.
update member set username='anh champi' where userid = 1;
10. COUNT(*): Đếm số data có trong TABLE
Mẫu : select count(*) from [tablename];
select count(*) from member;
11. DELETE: xóa data
Mẫu : delete from [tablename] where....;
delete from member where userid=1;
12. DESC TABLE: xem cấu trúc của 1 table:
desc member;
13. DROP TABLE: xóa table
Mẫu : drop table [tên table];
Ví dụ :
drop table member;
14. Check table
check table tablename;
15. Repair table
repair table tablename;
học php cơ bản tại ba đình hà nội

câu lệnh cơ bản trong mysql trong quá trình học php
Suu tam
Các bạn có thể học hỏi thêm và tham khảo ở trang chủ chia sẻ kiến thức về sql tại đây :
http://daotaolaptrinh.edu.vn/su-dung-csdl-mysql
Chúc các bạn thành công !!

Chủ Nhật, 11 tháng 8, 2013

Cách tạo Database bằng phpMyAdmin trên localhost

Tạo CSDL(Database) bằng phpMyAdmin. Kiến thức học php cơ bản, hữu ích dành cho các bạn học PHP cơ bản. Trong bài viết này chúng ta sẽ tìm hiểu cách kết nối vào sử dụng CSDL MySQL, truy cập và lưu trữ dữ liệu trong php . 

CSDL (database) là 1 phần quan trọng không thể thể thiếu được trong các ứng dụng web chuyên nghiệp. MySQL từ lâu đã là hệ CSDL được dùng phổ biến nhất với PHP vì tính gọn nhẹ, nhanh, miễn phí và được PHP hỗ trợ sẵn.  

Database là cơ sở dữ liệu được tạo ra để sử dụng cho các trang web động, nó chứa các thông tin và nội dung do người sử dụng hoặc do các ứng dụng web tạo ra. Các Web Site động sẽ truy xuất các dữ liệu trong Database để hiển thị lên trang web khi được yêu cầu.

Tạo CSDL(Database) bằng phpMyAdmin

Khởi động chương trình Web Server Wamp5 hoặc Xampp. Mở chương trình duyệt web (Internet Explorer, Firefox...) và nhập http://localhost/phpmyadmin/ vào dòng địa chỉ để mở phpMyAdmin. Đối với Wamp5 có thể nhấn chuột trái vào biểu tượng Wamp5 (nằm ở góc dưới trên phải màn hình) và chọn phpMyAdmin.
Trong phpMyAdmin chọn MySQL connection collationutf8_unicode_ci, trong Create new database đặt tên cho Database, có thể đặt bất cứ tên gì nhưng không được có khoảng trống giữa các ký tự, và chọn Collation ở bên dưới là utf8_general_ci để hỗ trợ tiếng Việt (Font Unicode), sau khi chọn xong nhấn Create.
Create new database
Sẽ có một Database được tạo ra với tên vừa đặt (ở đây tôi sẽ đặt là joomla), các thông số của Database này như sau (thông tin này rất quan trọng vì bạn sẽ phải cần đến nó để khai báo khi muốn kết nối với Database):
  • Server: localhost (đây là tên mặc định)
  • Database: joomla (hoặc tên do bạn đặt)
  • User: root (đây là tên mặc định)
  • Password: (mặc định không có, để trống phần này)
phpMyAdmin database 
Có thể tạo thêm nhiều Database khác theo các bước như trên.

Backup (sao lưu) các bảng dữ liệu của Database

  • Chọn Database -> chọn bảng dữ liệu muốn Backup hoặc chọn Check All (nằm phía dưới) sau đó chọn Export (nằm phía trên).
  • Đánh dấu vào Save as file, nếu muốn nén dữ liệu thì chọn "zipped" hoặc "gzipped" trong Compression. Nhấn Go để Backup.
Backup (sao lưu) các bảng dữ liệu của Database
  • Chọn Save và đặt tên cho File Backup khi xuất hiện bảng thông báo.
Save và đặt tên cho File Backup 

Restore (phục hồi) các bảng dữ liệu của Database

  • Chọn Database -> chọn Import (nằm phía trên) -> nhấn Browse -> chọn Fie Backup và nhấn Go.
Restore (phục hồi) các bảng dữ liệu của Database

Xóa Database

  • Chọn Database muốn xóa -> nhấn Drop
drop database
  • Xuất hiện bảng cảnh báo -> nhấn Ok để đồng ý.
Xóa Database

Xóa các bảng dữ liệu trong Database

  • Chọn Database muốn xóa -> Nhấn vào biểu tượng X (màu đỏ) tương ứng với bảng dữ liệu để xóa bảng đó. Nếu muốn xóa hết các bảng dữ liệu thì chọn Check All (nằm phía dưới) sau đó chọn Drop trong With Selected.
Xóa các bảng dữ liệu trong Database
  • Xuất hiện bảng cảnh báo -> nhấn Yes để đồng ý.
  • Kết thúc bài đăng này, các bạn có thể lắm được cơ bản về CSDL trong phpmyadmin. Học php cơ bản sẽ tiếp tục trong những bài đăng tiếp theo .. :)

fdf
Ta

Cơ bản về ngôn ngữ SQL và Mysql trong php

Trong quá trình học php cơ bản , tài liệu học về Mysql và Sql là những kiến thức ta thấy Mysql là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với apache, PHP. 
Về bản chất Mysql đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết có thể giải quyết các bài toán trong PHP còn SQL là ngôn ngữ truy vấn có cấu trúc là ngôn ngữ chuẩn hóa để định nghĩa và xử lý dữ liệu trong một cơ sở dữ liệu quan hệ. Tất cả các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) đều hiểu được SQL.

học sql cơ bản trong php

Và chúng ta cần phải học để biết việc kết hợp Sql vs php như thế nào
SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc.
SQL cho phép bạn truy cập vào CSDL.
SQL là một chuẩn ngôn ngữ của ANSI.
SQL có thể thực thi các câu truy vấn trên CSDL.
SQL có thể lấy dữ liệu từ CSDL.
SQL có thể chèn dữ liệu mới vào CSDL.
SQL có thể xoá dữ liệu trong CSDL.
SQL có thể sửa đổi dữ liệu hiện có trong CSDL.
SQL dễ học :-) 
SQL là một chuẩn

SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL. Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong một CSDL.

SQL hoạt động với hầu hết các chương trình CSDL như MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase v.v...

1- Cách khởi động và sử dụng MYSQL.

Chúng ta sử dụng command như sau:

Mysql –hname –uuser –ppass

Để truy cập vào cơ sở dữ liệu.
Hoặc sử dụng bộ appserv để vào nhanh hơn theo đường dẫn sau:
Start/ Appserv/ Mysql command Line client
Sau đó nhập password mà chúng ta đã đặt vào.

2- Những định nghĩa cơ bản:

a) Định nghĩa cơ sở dữ liệu, bảng, cột:

Cơ sở dữ liệu: là tên của cơ sở dữ liệu chúng ta muốn sử dụng
Bảng: Là 1 bảng giá trị nằm trong cơ sở dữ liệu.
Cột là 1 giá trị nằm trong bảng. Dùng để lưu trữ các trường dữ liệu.
Thuộc tính

Ví dụ:

PHP Example

Như vậy ta có thể hiểu như sau:
1 cơ sở dữ liệu có thể bao gồm nhiều bảng.
1 bảng có thể bao gồm nhiều cột
1 cột có thể có hoặc không có những thuộc tính.

b) Định nghĩa 1 số thuật ngữ:

NULL : Giá trị cho phép rỗng.
AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).
UNSIGNED : Phải là số nguyên dương
PRIMARY KEY : Cho phép nó là khóa chính trong bảng.

c)Loại dữ liệu trong Mysql:

Ở đây chúng tả chỉ giới thiệu 1 số loại thông dụng: 1 số dữ liệu khác có thể tham khảo trên trang chủ của mysql.
PHP Example

3- Những cú pháp cơ bản:

Cú pháp tạo 1 cơ sở dữ liệu:

CREATE DATABASE tên_cơ_sở_dữ_liệu;
Cú pháp sử dụng cơ sở dữ liệu: Use tên_database;
Cú pháp thoát khỏi cơ sở dữ liệu: Exit

Cú pháp tạo 1 bảng trong cơ sở dữ liệu:

CREATE TABLE user (<tên_cột> <mô_tả>,…,<tên_cột_n>…..<mô_tả_n>)

Ví dụ:


mysql> create table user(user_id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(255) NOT NULL, password CHAR(50) NOT NULL, email VARCHAR(200) NOT NULL, PRIMARY KEY (user_id));
Hiển thị có bao nhiều bảng: show tables;
Hiển thị có bao nhiêu cột trong bảng: show columns from table;
Thêm 1 cột vào bảng :

ALTER TABLE tên_bảng ADD <tên_cột> <thuộc_tính> AFTER <tên_cột>

Ví dụ:

mysql> alter table user add sex varchar(200) NOT NULL after email;

4- Thêm giá trị vào bảng:

Cú pháp cơ bản:

INSERT INTO Tên_bảng(tên_cột) VALUES(Giá_trị_tương_ứng);

Ví dụ:


mysql> insert into user(username,password,email,sex,home) values("Lanna","12345","lanna@yahoo.com","F","www.abc.com");

5- Truy xuất dữ liệu:

Cú pháp cơ bản:

SELECT tên_cột FROM Tên_bảng;

Ví dụ:


mysql> select user_id,username from user;
6- Truy xuất dữ liệu với điều kiện:

Cú pháp cơ bản:

SELECT tên_cột FROM Tên_bảng WHERE điều kiện;
Ví dụ:

mysql> select user_id,username from user where user_id=2;

7- Truy cập dữ liệu và sắp xếp theo trình tự

Cú pháp cơ bản:

SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có where hoặc không)
ORDER BY Theo quy ước sắp xếp.

Trong đó quy ước sắp xếp bao gồm hai thông số là ASC (từ trên xuống dưới), DESC (từ dưới lên trên).

mysql> select user_id,username from user order by username ASC ;

8- Truy cập dữ liệu có giới hạn :

Cú pháp cơ bản:

SELECT tên_cột FROM Tên_bảng
WHERE điều kiện (có thể có where hoặc không)
LIMIT vị trí bắt đầu, số record muốn lấy ra

Ví dụ:
mysql> select user_id,username from user order by username ASC limit 0,10 ;

9- Cập nhật dữ liệu trong bảng:

Cú pháp cơ bản:

Update tên_bảng set tên_cột=Giá trị mới
WHERE (điều kiện).

Nếu không có ràng buộc điều kiện, chúng sẽ cập nhật toàn bộ giá trị mới của các record trong bảng.
Ví dụ:

mysql> update user set email="admin@qhonline.info" where user_id=1 ;

10- Xóa dữ liệu trong bảng:

Cú pháp cơ bản:

DELETE FROM tên_bảng WHERE (điều kiện).

Nếu không có ràng buộc điều kiện, chúng sẽ xó toàn bộ giá trị của các record trong bảng.

Bài tập ví dụ cho việc học về sql trong lập trình php cơ bản mà hôm nay chúng ta sẽ thực hành là tạo 1 database rồi import data có có sawnz vào data vừa tạo mà dùng commad ?
Các bạn có thể tham khảo các tài liệu php trên các diễn đàn hay trang mạng internet về công nghệ thông tin. 
http://taigamehotnhat.wordpress.com