Khái niệm và thành phần trong API - Nguyên lý điều hành - Học Viện Kỹ Thuật Mật Mã
API là một tập hợp các quy trình, giao thức và công cụ để xây dựng các ứng dụng phần mềm và kết nối với các thư viện và ứng dụng khác. Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng. API thể hiện một thành phần phầm mềm về mặt hoạt động, đầu vào, đầu ra và các loại cơ bản. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!
Preview text:
lOMoARcPSD|16072870 1.3 API 1.3.1 Khái niệm API
API là một tập hợp các quy trình, giao thức và công cụ để xây dựng các ứng dụng
phần mềm và kết nối với các thư viện và ứng dụng khác. Nó là viết tắt của Application
Programming Interface – giao diện lập trình ứng dụng. API thể hiện một thành phần
phầm mềm về mặt hoạt động, đầu vào, đầu ra và các loại cơ bản. API cung cấp khả năng
cung cấp khả năng truy xuất đến một tập các hàm hay dùng và từ đó có thể trao đổi dữ
liệu giữa các ứng dụng.
1.3.2 Thành phần của API API gồm 2 thành phần:
• Đặc tả kỹ thuật: mô tả các phương án trao đổi dữ liệu giữa các giải pháp với đặc tả
được thực hiện dưới dạng yêu cầu xử lý và giao thức truyền dữ liệu.
• Giao diện phần mềm: được viết theo đặc tả đại diện cho nó. Phần mềm cần truy
cập thông tin hoặc chức năng từ một phần mềm khác gọi API của nó trong khi chỉ
định các yêu cầu về cách cung cấp dữ liệu/chức năng. Phần mềm kia trả về dữ
liệu/chức năng mà ứng dụng cũ yêu cầu. Và giao diện mà hai ứng dụng này giao
tiếp là những gì API chỉ định.
1.3.3 Cách thức hoạt động của API
API hoạt động theo 4 cách khác nhau, tùy vào thời điểm và lí do chúng được tạo ra: 1. API SOAP
Các API này sử dụng Giao thức truy cập đối tượng đơn giản. Máy chủ và máy
khách trao đổi thông điệp bằng XML. Đây là loại API kém linh hoạt được dùng phổ biến trước đây. 2. API RPC
Những API này được gọi là Lệnh gọi thủ tục từ xa. Máy khách hoàn thành một
hàm (hoặc thủ tục) trên máy chủ còn máy chủ gửi kết quả về cho máy khách. 3. API Websocket
API Websocket là một bản phát triển API web hiện đại khác sử dụng các đối
tượng JSON để chuyển dữ liệu. API WebSocket hỗ trợ hoạt động giao tiếp hai chiều giữa
ứng dụng máy khách và máy chủ. Máy chủ có thể gửi thông điệp gọi lại cho các máy
khách được kết nối, điều này khiến loại API này hiệu quả hơn API REST. 4. API REST
Đây là loại API phổ biến và linh hoạt nhất trên web hiện nay. Máy khách gửi yêu
cầu đến máy chủ dưới dạng dữ liệu. Máy chủ dùng dữ liệu đầu vào từ máy khách này để lOMoARcPSD|16072870
bắt đầu các hàm nội bộ và trả lại dữ liệu đầu ra cho máy khách. lOMoARcPSD|16072870
Nguyên tắc hoạt động của API thường được thể hiện thông qua giao tiếp phản hồi
yêu cầu giữa máy khách và máy chủ. Máy khách là bất kỳ ứng dụng front-end nào mà
người dùng tương tác. Máy chủ chịu trách nhiệm về logic phụ trợ và hoạt động cơ sở dữ
liệu. Trong trường hợp này, API hoạt động như lớp trung gian giữa máy khách và máy
chủ, giúp gửi yêu cầu và phản hồi dữ liệu.
API ủy quyền và cấp quyền truy cập vào dữ liệu mà người dùng và các ứng dụng
khác yêu cầu. Quyền truy cập được xác thực đối với một dịch vụ hoặc một phần chức
năng bằng cách sử dụng các vai trò được xác định trước để quản lý ai hoặc dịch vụ nào
có thể truy cập các hành động và dữ liệu cụ thể. API cũng cung cấp một bản kiểm tra chi
tiết ai và những gì đã có quyền truy cập vào hệ thống cũng như thời điểm điều đó xảy ra.
Các ứng dụng gọi API theo truyền thống được viết bằng các ngôn ngữ lập trình cụ
thể. API Web có thể được gọi thông qua bất kỳ ngôn ngữ lập trình nào, nhưng các trang
web được tạo bằng Ngôn ngữ đánh dấu siêu văn bản (HTML) hoặc các công cụ tạo ứng
dụng cũng có thể truy cập chúng.
Các kiến trúc phổ biến nhất cho API là Chuyển giao trạng thái đại diện (REST) và
Giao thức truy cập đối tượng đơn giản (SOAP), xác định đặc tả giao thức truyền thông
tiêu chuẩn để trao đổi tin nhắn dựa trên Ngôn ngữ đánh dấu mở rộng hoặc XML. SOAP
yêu cầu ít mã liên quan đến cơ sở hạ tầng cấp thấp hơn REST. Tuy nhiên, API REST dễ
dàng mở rộng quy mô và triển khai lại hơn, đồng thời triển khai và tích hợp với các trang
web và dịch vụ đơn giản hơn. API REST thường được sử dụng nhiều nhất hiện nay, đặc
biệt là cho các tương tác trên web.
Các chuyên gia của Red Hat lưu ý rằng API đôi khi được coi là hợp đồng, trong
đó tài liệu là sự thỏa thuận giữa các bên, "Nếu bên 1 gửi yêu cầu từ xa có cấu trúc theo
cách cụ thể thì đây là cách phần mềm của bên 2 sẽ phản hồi." lOMoARcPSD|16072870 Hình 1. 1.3.4 Phân loại API
API được phân loại theo cả kiến trúc và phạm vi sử dụng. Dựa vào phạm vi sử
dụng, có thể phân loại API thành 4 loại:
• API riêng: Là các loại API nội bộ dùng để kết nối các ứng dụng trong cùng một doanh nghiệp
• API công cộng: Bất kì ai cũng có thể sử dụng được loại API này. Khi sử dụng các
API này, có thể bạn sẽ nhận được các yêu cầu ủy quyền, yêu cầu chi phí hoặc
cũng có thể là không có yêu cầu gì.
• API đối tác: Loại API này được các nhà phát triển bên ngoài dùng để hỗ trợ mối
quan hệ hợp tác giữa các doanh nghiệp với nhau.
• API tổng hợp: Các loại API này sẽ kết nối nhiều API khác để giải quyết các yêu
cầu phức tạp từ các ứng dụng.
1.3.5 Ứng dụng của API.
API là một bộ quy tắc. Họ tiêu chuẩn hóa cách các nhà phát triển viết mã ứng
dụng, cải thiện quy trình phát triển phần mềm nội bộ của tổ chức.
Việc sử dụng các quy tắc và định dạng giống nhau sẽ hợp lý hóa mã và làm cho
mã trở nên minh bạch hơn. Tiêu chuẩn hóa cũng tạo điều kiện thuận lợi cho sự cộng tác
giữa các nhà phát triển khi họ xây dựng các thành phần phần mềm với mục đích tích hợp
với API. Ngược lại, điều này tạo điều kiện thuận lợi cho việc phát triển tính năng và giảm
thời gian đưa sản phẩm ra thị trường.
API công khai và các API được chia sẻ với đối tác cho phép tổ chức thực hiện những việc sau:
• Kiểm soát và quản lý một cách an toàn cách người dùng và hệ thống truy cập vào
chức năng dịch vụ và dữ liệu.
• Cho phép các bên thứ ba sử dụng dữ liệu của mình ngay cả trong một nghĩa hạn
chế điều này làm tăng mức độ hiển thị thương hiệu của công ty.
• Phát triển cơ sở dữ liệu khách hàng và tăng tỷ lệ chuyển đổi bằng cách điều chỉnh
dịch vụ của mình với các thương hiệu đáng tin cậy khác.
• Kiếm tiền từ API của nó để chúng trở thành một nguồn doanh thu. Đây là một
chiến thuật phổ biến cho các cổng thanh toán trực tuyến. Ví dụ: các công ty sử
dụng API của PayPal sẵn sàng trả tiền để sử dụng hệ thống thanh toán đáng tin cậy.
1.3.6 Ưu điểm và nhược điểm của API • Ưu điểm: lOMoARcPSD|16072870
- Có thể dùng API trên đa dạng các nền tảng của desktop, điện thoại di động mobile hay website.
- Với mỗi nền tảng thì API sẽ linh hoạt các định dạng dữ liệu sao cho phù hợp
với các ứng dụng trên các hệ điều hành đó.
- Người dùng có thể thuận tiện xây dựng HTTP server khi dùng API để việc lập
trình trở nên dễ dàng hơn.
- API sử dụng các mã nguồn mở với chức năng RESTFUL nên có thể ứng dụng
vào bất cứ hệ điều hành nào để hỗ trợ JSON và XML.
- Có thể dùng API để trao đổi thông tin 2 chiều, đảm bảo được độ tin cậy cho các bên.
- Các thành phần MVC như Model Binder, Action, Unit Test, Controller, … đều
có thể được API hỗ trợ đầy đủ các tính năng. Hình 1. • Nhược điểm:
- API Website chưa hỗ trợ tất cả các server, nó chỉ mới hỗ trợ POST và GET.
- Người dùng cần có hiểu biết kỹ càng và có kinh nghiệm backend thì mới có thể
tận dụng triệt để các tính năng mà API mang lại.
- Việc phát triển, vận hành hay nâng cấp API là không hề dễ dàng và cần một
thời gian dài để thực hiện. Thậm chí, người dùng còn phải trả một chi phí khá lớn cho việc đó.
- Nếu chủ sở hữu API chưa giới hạn kỹ các điều kiện thì vẫn có thể bị tấn công
hệ thống và không đảm bảo được việc bảo mật. 1.3.7 Bảo mật API
Bảo mật API là quá trình bảo vệ các ứng dụng và dịch vụ truyền thông qua các
giao diện lập trình ứng dụng (API). Điều này bao gồm việc xác thực người dùng, kiểm
soát quyền truy cập và mã hóa dữ liệu để ngăn chặn việc truy cập không ủy quyền và sử dụng sai mục đích.
Một số biện pháp bảo mật phổ biến mà các nhà phát triển và doanh nghiệp thường
triển khai để bảo vệ API:
1. Xác thực và ủy quyền: Đảm bảo rằng chỉ người dùng được ủy quyền mới có thể
truy cập vào các API. Sử dụng các phương thức xác thực như OAuth, JWT (JSON
Web Tokens), hoặc cơ chế xác thực API key.
2. Kiểm soát truy cập: Quản lý quyền truy cập của người dùng đến các API bằng
cách thiết lập các quy tắc truy cập và phân quyền. lOMoARcPSD|16072870
3. Mã hóa dữ liệu: Đảm bảo rằng dữ liệu được truyền qua API được mã hóa để ngăn
chặn việc đọc dữ liệu bởi các bên thứ ba không ủy quyền.
4. Bảo vệ chống lại tấn công CSRF và XSS: Áp dụng các biện pháp bảo vệ để ngăn
chặn tấn công Cross-Site Request Forgery (CSRF) và Cross-Site Scripting (XSS).
5. Ghi lại và giám sát hoạt động: Theo dõi và ghi lại các hoạt động của API để phát
hiện và ngăn chặn các hành vi đáng ngờ hoặc tấn công.
6. Cập nhật và bảo trì thường xuyên: Đảm bảo rằng hệ thống API được cập nhật
đều đặn và có các bản vá bảo mật mới nhất để bảo vệ khỏi các lỗ hổng bảo mật mới được phát hiện.
7. Tích hợp kiểm tra bảo mật: Sử dụng các công cụ kiểm tra bảo mật để kiểm tra
và đánh giá các rủi ro bảo mật của hệ thống API.
Bảo mật API là một phần quan trọng của việc phát triển và triển khai các ứng
dụng và dịch vụ trực tuyến, đặc biệt là trong bối cảnh ngày nay khi dữ liệu người dùng
trở nên ngày càng quan trọng và nhạy cảm.
1.3.8 Tìm hiểu về Web API.
1.3.8.1 Khái niệm về Web API.
Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể
giao tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở dạng JSON
hoặc XML thông qua giao thức HTTP hoặc HTTPS. Hình 1.
1.3.8.2 Đặc điểm của Web API
Web API hỗ trợ restful đầy đủ các phương thức: Get, Post, Put, Delete dữ liệu. Nó
giúp xây dựng các HTTP service một cách rất đơn giản và nhanh chóng. Nó cũng có khả
năng hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content format.
Tự động hóa sản phẩm: Web API sẽ tự động hóa quản lý công việc, cập nhật
luồng công việc, giúp tăng năng suất và tạo hiệu quả công việc cao hơn.
Khả năng tích hợp linh động: API cho phép lấy nội dung từ bất kỳ website hoặc
ứng dụng nào một cách dễ dàng nếu được cho phép, tăng trải nghiệm người dùng. API lOMoARcPSD|16072870
hoạt động như một chiếc cổng, cho phép các công ty chia sẻ thông tin được chọn nhưng
vẫn tránh được những yêu cầu không mong muốn.
Cập nhật thông tin thời gian thực: API có chức năng thay đổi và cập nhật thay
đổi theo thời gian thực. Với công nghệ này, dữ liệu sẽ được truyền đi tốt hơn, thông tin
chính xác hơn, dịch vụ cung cấp linh hoạt hơn.
Có tiêu chuẩn chung dễ sử dụng: Bất kỳ người dùng, công ty nào sử dụng cũng
có thể điều chỉnh nội dung, dịch vụ mà họ sử dụng.
Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter,
model binder, IoC container, dependency injection, unit test, …
1.3.8.3 Cấu trúc của Web API
Một Web API thường có cấu trúc chung gồm các thành phần sau:
URL: Địa chỉ URL là cách đơn giản nhất để tìm đến API. Nó phải được định
nghĩa rõ ràng và có thể thay đổi theo thời gian. URL cũng thường được sử dụng để định danh tài nguyên.
HTTP Method: Phương thức HTTP được sử dụng để tương tác với API, bao gồm
GET, POST, PUT và DELETE. Mỗi phương thức có một mục đích và tác động khác nhau đến tài nguyên.
Headers: Headers chứa thông tin cơ bản về yêu cầu và phản hồi HTTP. Chúng có
thể chứa thông tin về định dạng của dữ liệu, thông tin xác thực và phiên làm việc, hoặc các thông tin khác.
Parameters: Thông tin được truyền vào API trong yêu cầu được gọi là tham số.
Các tham số này có thể được truyền bằng nhiều cách khác nhau, bao gồm cả URL và HTTP Body.
Response: Phản hồi trả về từ API có thể có định dạng khác nhau, nhưng thường là
định dạng JSON hoặc XML. Phản hồi bao gồm mã trạng thái HTTP, thông tin về lỗi (nếu
có), và dữ liệu được yêu cầu (nếu có).
Error Handling: API phải xử lý các lỗi đầy đủ để đảm bảo ứng dụng client có thể
hiểu và xử lý các tình huống không mong muốn một cách chính xác. Các lỗi phổ biến bao
gồm lỗi xác thực, lỗi quyền truy cập, lỗi dữ liệu và lỗi máy chủ.
Authentication: API thường cần xác thực và phân quyền để bảo vệ dữ liệu. Các
phương pháp xác thực phổ biến bao gồm OAuth và Token-based authentication.
Rate Limiting: Để tránh tình trạng quá tải server, API cũng cần giới hạn số lần
truy cập và thời gian giữa các yêu cầu. Các phương pháp giới hạn tốc độ phổ biến bao
gồm giới hạn số yêu cầu trên một địa chỉ IP trong một khoảng thời gian cụ thể hoặc giới
hạn tốc độ yêu cầu cho từng khách hàng lOMoARcPSD|16072870
1.3.8.4 Cách hoạt động của Web API
Web API hoạt động theo System – System hay mô hình tương tác giữa các hệ thống với
nhau. Cụ thể, đây là mô hình cho phép thông tin/dữ liệu có thể được một hệ thống khác
xử lý, sau đó kết quả sẽ được hiển thị cho người xem. Thông thường, một Web API sẽ hoạt
động theo quy trình cơ bản sau:
Bước 1: Tạo URL API để bên thứ 3 có thể gửi yêu cầu đến máy chủ nhờ cung cấp nội
dung thông qua giao thức HTTP/HTTPS.
Bước 2: Tại máy chủ, các ứng dụng nguồn tiến hành kiểm tra xác thực và trả về nội dung thích hợp.
Bước 3: Máy chủ trả về dữ liệu theo định dạng XML hoặc JSON qua giao thức HTTP/HTTPS.
Bước 4: Dữ liệu trả về sẽ được phân tích để xây dựng cơ sở dữ liệu tại nơi yêu cầu
ban đầu (ứng dụng web, ứng dụng di động).
1.3.8.5 Ưu điểm và nhược điểm của API • Ưu điểm:
- Web API được sử dụng khá rộng rãi ở trên các ứng dụng như: Desktop, mobile
và cả ứng dụng ở Website.
- Linh hoạt đối với các dạng dữ liệu trả về Client: Json, XML hay những định dạng khác nữa.
- Dễ dàng xây dựng được HTTP service: URI, URI, request/response headers,
caching, versioning, content formats và cả host trong ứng dụng.
- Với mã nguồn mở có thể giúp hỗ trợ những chức năng của Restful một cách đầy đủ.
- Hỗ trợ về thành phần MVC như: routing, controller, action result, filter, model
binder, IoC container, dependency injection, unit test.
- Giao tiếp 2 chiều được xác nhận, vì vậy các giao dịch có thể đảm bảo được độ tin cậy cao hơn. • Nhược điểm:
- Web API chưa được gọi là Restful Service bởi nó chỉ mới hỗ trợ mặc định Get, Post.
- Nếu muốn sử dụng tốt nhất bạn cần có kiến thức và am hiểu thật sự về backend.
- Khá mất thời gian cho việc phát triển cũng như nâng cấp, vận hành.
- Hệ thống có thể bị tấn công nếu như không giới hạn chức năng hay điều kiện.
1.3.8.6 Ứng dụng của Web API
Web API đang trở thành một phần không thể thiếu trong lập trình website hiện
đại. Web API không chỉ cải thiện hiệu quả hoạt động của trang web mà còn góp phần
nâng cao trải nghiệm người dùng. lOMoARcPSD|16072870
Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết các
website đều ứng dụng đến Web API cho phép kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ
liệu. Ví dụ: Thiết kế chức năng login thông Google, Facebook, Twitter, Github… Điều
này có nghĩa là đang gọi đến API của trang web, hoặc như các ứng dụng di động đều lấy
dữ liệu thông qua API. API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ
cung cấp các tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối.
Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với hệ điều hành.
Ứng dụng của Web API trong thiết kế Web:
• Tạo website thương mại điện tử
Web API còn hỗ trợ xây dựng các trang web bán hàng online. Đặc biệt trong việc
thiết kế website thương mại điện tử trên nền tảng Shopify. Bằng cách dùng API của
Shopify gắn vào các thành phần trên trang web, bạn sẽ có một website thương mại điện tử.
• Tối ưu công cụ tìm kiếm
Search Engine hay công cụ tìm kiếm là một thành phần không thể thiếu của mọi trang
web. Điểm trừ của việc sử dụng công cụ tìm kiếm thông thường là dữ liệu trả về sẽ rời
rạc và thiếu thống nhất. Do đó, người dùng rất khó tìm được nội dung mong muốn hay
một thông tin có tính đặc thù nào đó.
Để cải thiện tình trạng này, các nhà thiết kế website sẽ ứng dụng API để tối ưu công
cụ tìm kiếm. Việc sử dụng Web API sẽ cho phép tìm kiếm thông tin một cách chọn lọc và
chính xác nhất. Điều này góp phần nâng cao trải nghiệm của người dùng đối với trang web.
• Tích hợp với kênh mạng xã hội
Các web API có khả năng tích hợp với nhiều kênh mạng xã hội nổi tiếng hiện nay như
Twitter, Facebook, Instagram…
Ví dụ: Khi bạn truy cập vào một trang web sẽ thấy phần liên kết với trang Gmail hay
Facebook. Một số website còn có phần bình luận, nút like, theo dõi Fanpage dành cho các
bài viết. Nhờ ứng dụng web API, người dùng có thể đăng nhập bằng tài khoản mạng xã
hội của mình để tương tác với bài viết.
Để tích hợp được các trang mạng xã hội, lập trình viên phải dùng API của nền tảng
mạng xã hội nhúng vào trang web. Với API, website và mạng xã hội có thể trao đổi dữ
liệu qua lại một cách dễ dàng. Người dùng sẽ không phải thoát khỏi website mà vẫn
tương tác được với ứng dụng mạng xã hội một cách bình thường. 1.4. OWASP 1.4.1 Khái niệm lOMoARcPSD|16072870
OWASP là một tiêu chuẩn toàn cầu để phục vụ việc kiểm thử xâm nhập –
Penetration Testing (Pentest) được dễ dàng hơn. Tiêu chuẩn này được đề xuất bởi một tổ
chức phi lợi nhuận: Open Web Application Security Project (OWASP).
1.4.2 Những lỗ hổng bảo mật website phổ biến
1.4.2.1 Lỗ hổng Injection (Lỗi chèn mã độc)
Injection là lỗ hổng xảy ra do sự thiếu sót trong việc lọc các dữ liệu đầu vào không
đáng tin cậy. Khi bạn truyền các dữ liệu chưa được lọc tới Database (Ví dụ như lỗ hổng
SQL injection), tới trình duyệt (lỗ hổng XSS), tới máy chủ LDAP (lỗ hổng LDAP
Injection) hoặc tới bất cứ vị trí nào khác. Vấn đề là kẻ tấn công có thể chèn các đoạn mã
độc để gây ra lộ lọt dữ liệu và chiếm quyền kiểm soát trình duyệt của khách hàng.
+ Cách ngăn chặn lỗ hổng:
Để chống lại lỗ hổng này chỉ “đơn giản” là vấn đề bạn đã lọc đầu vào đúng cách
chưa hay việc bạn cân nhắc liệu một đầu vào có thể được tin cậy hay không. Về căn bản,
tất cả các đầu vào đều phải được lọc và kiểm tra trừ trường hợp đầu vào đó chắc chắn
đáng tin cậy. (Tuy nhiên việc cẩn thận kiểm tra tất cả các đầu vào là luôn luôn cần thiết). •
1.4.2.2 Lỗ hổng XSS (Cross Site Scripting)
Lỗ hổng XSS (Cross-scite Scripting) là một lỗ hổng rất phổ biến. Kẻ tấn công
chèn các đoạn mã JavaScript vào ứng dụng web. Khi đầu vào này không được lọc, chúng
sẽ được thực thi mã độc trên trình duyệt của người dùng. Kẻ tấn công có thể lấy được
cookie của người dùng trên hệ thông hoặc lừa người dùng đến các trang web độc hại
+ Cách ngăn chặn lỗ hổng:
Có một cách bảo mật web đơn giản đó là không trả lại thẻ HTML cho người dùng.
Điều này còn giúp chống lại HTML Injection – Một cuộc tấn công tương tự mà hacker
tấn công vào nội dung HTML – không gây ảnh hưởng nghiêm trọng nhưng khá rắc rối
cho người dùng. Thông thường cách giải quyết đơn giản chỉ là Encode (chuyển đổi vê
dạng dữ liệu khác) tất cả các thẻ HTML. Ví dụ thẻ được trả về dưới dạng •
1.4.2.3 Broken Authentication
Đây là nhóm các vấn đề có thể xảy ra trong quá trình xác thực. Có một lời khuyên là
không nên tự phát triển các giải pháp mã hóa vì rất khó có thể làm được chính xác.
Có rất nhiều rủi ro có thể gặp phải trong quá trình xác thực:
+URL có thể chứa Session ID và rò rỉ nó trong Referer Header của người dùng khác.
+Mật khẩu không được mã hóa hoặc dễ giải mã trong khi lưu trữ. +Lỗ hổng Session Fixation. lOMoARcPSD|16072870
+Tấn công Session Hijacking có thể xảy ra khi thời gian hét hạn của session
không được triển khai đúng hoặc sử dụng HTTP (không bảo mật SSL)…
+ Cách ngăn chặn lỗ hổng: Cách đơn giản nhất để tránh lỗ hổng bảo mật web
này là sử dụng một framework. Trong trường hợp bạn muốn tự tạo ra bộ xác thực hoặc
mã hóa cho riêng mình, hãy nghĩ đến những rủi ro mà bạn sẽ gặp phải và tự cân nhắc kĩ trước khi thực hiện. lOMoARcPSD|16072870
Document Outline
- 1.3API
- 1.3.2Thành phần của API
- 1.3.3Cách thức hoạt động của API
- 1.API SOAP
- 2.API RPC
- 3.API Websocket
- 4.API REST
- 1.3.4Phân loại API
- 1.3.5Ứng dụng của API.
- 1.3.6Ưu điểm và nhược điểm của API
- •Ưu điểm:
- •Nhược điểm:
- 1.3.7Bảo mật API
- 1.3.8Tìm hiểu về Web API.
- 1.3.8.2Đặc điểm của Web API
- 1.3.8.3Cấu trúc của Web API
- 1.3.8.4Cách hoạt động của Web API
- 1.3.8.5Ưu điểm và nhược điểm của API
- •Ưu điểm:
- •Nhược điểm:
- 1.3.8.6Ứng dụng của Web API
- •Tạo website thương mại điện tử
- •Tối ưu công cụ tìm kiếm
- •Tích hợp với kênh mạng xã hội
- 1.4.1Khái niệm
- 1.4.2Những lỗ hổng bảo mật website phổ biến
- + Cách ngăn chặn lỗ hổng:
- •1.4.2.2 Lỗ hổng XSS (Cross Site Scripting)
- + Cách ngăn chặn lỗ hổng:
- •1.4.2.3 Broken Authentication