Nodejs

Nodejs nodejs

MÃ TRUY CẬPHướng dẫn này giải thích cách lấy mã truy cập Trang và Người dùng[https://developers.facebook.com/docs/facebo...
30/03/2023

MÃ TRUY CẬP

Hướng dẫn này giải thích cách lấy mã truy cập Trang và Người dùng
[https://developers.facebook.com/docs/facebook-login/access-tokens].

LẤY MÃ TRUY CẬP NGƯỜI DÙNG NGẮN HẠN

Hãy sử dụng một trong các phương thức sau để lấy mã truy cập Người dùng ngắn
hạn:

* Công cụ Trình khám phá đồ thị
[https://developers.facebook.com/docs/graph-api/explorer -token-dropdown]

* Hộp thoại Đăng nhập bằng Facebook
[https://developers.facebook.com/docs/facebook-login/]

Các phương thức này tạo ra mã truy cập Người dùng ngắn hạn có hiệu lực trong 1
giờ.

LẤY MÃ TRUY CẬP NGƯỜI DÙNG DÀI HẠN

TRƯỚC KHI BẠN BẮT ĐẦU

Bạn sẽ cần có:

* Mã truy cập Người dùng ngắn hạn

* ID ứng dụng Facebook
[https://developers.facebook.com/docs/development/create-an-app/app-dashboard -id]

* Khóa bí mật của ứng dụng
[https://developers.facebook.com/docs/facebook-login/security ]

Để lấy mã truy cập Người dùng dài hạn, hãy gửi yêu cầu GET đến điểm
cuối /oauth/access_token. Thay
thế APP-ID, APP-SECRET và SHORT-LIVED-USER-ACCESS-TOKEN bằng thông tin của bạn.

curl -i -X GET "https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&
client_id=APP-ID&
client_secret=APP-SECRET&
fb_exchange_token=SHORT-LIVED-USER-ACCESS-TOKEN"

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi sau:

{
"access_token": "LONG-LIVED-USER-ACCESS-TOKEN",
"token_type": "bearer",
"expires_in": SECONDS-UNTIL-TOKEN-EXPIRES
}

Mã này sẽ có hiệu lực trong 60 ngày.

LẤY MÃ TRUY CẬP TRANG

TRƯỚC KHI BẠN BẮT ĐẦU

* Mã truy cập Người dùng do một người có thể thực hiện hành động trên Trang đó
yêu cầu. Ví dụ: để kiểm duyệt bình luận, người tạo mã phải có khả năng thực
hiện tác vụ MODERATE
[https://developers.facebook.com/docs/pages/overview/permissions-features ] trên
Trang.

* ID Facebook của Trang mà bạn muốn truy cập

Để lấy mã truy cập Trang, hãy gửi yêu cầu GET đến điểm cuối /PAGE-ID bằng cách
sử dụng mã truy cập Người dùng. Thay thế PAGE-ID và USER-ACCESS-TOKEN bằng thông
tin của bạn.

curl -i -X GET "https://graph.facebook.com/PAGE-ID?
fields=access_token&
access_token=USER-ACCESS-TOKEN"

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi sau:

{
"access_token":"PAGE-ACCESS-TOKEN",
"id":"PAGE-ID"
}

* Nếu bạn sử dụng mã truy cập Người dùng ngắn hạn, mã truy cập Trang sẽ có hiệu
lực trong 1 giờ.

* Nếu bạn sử dụng mã truy cập Người dùng dài hạn, mã truy cập Trang sẽ không có
ngày hết hạn.

LẤY MÃ TRUY CẬP TRANG DO BẠN QUẢN LÝ

TRƯỚC KHI BẠN BẮT ĐẦU

Bạn sẽ cần:

* ID người dùng Facebook
[https://developers.facebook.com/docs/graph-api/reference/user] của bạn

* Mã truy cập Người dùng do một người có thể thực hiện tác vụ MANAGE
[https://developers.facebook.com/docs/pages/overview/permissions-features ] trên
Trang đó yêu cầu

* Quyền page_show_list
[https://developers.facebook.com/docs/permissions/reference/pages_show_list]

Để lấy danh sách Trang và mã truy cập Trang tương ứng, hãy gửi yêu
cầu GET đến điểm cuối /USER-ID/accounts
[https://developers.facebook.com/docs/graph-api/reference/user/accounts]. Thay
thế USER-ID và USER-ACCESS-TOKEN bằng thông tin của bạn.

curl -i -X GET "https://graph.facebook.com/USER-ID/accounts?
fields=name,access_token&
access_token=USER-ACCESS-TOKEN"

Khi thành công, ứng dụng của bạn sẽ nhận được phản hồi sau đây:

{
"data": [
{
"name": "page 1",
"access_token": "PAGE-1-ACCESS-TOKEN",
"id": "PAGE-1-ID"
},
{
"name": "page 2",
"access_token": "PAGE-2-ACCESS-TOKEN",
"id": "PAGE-2-ID"
},
{
"name": "page 3",
"access_token": "PAGE-3-ACCESS-TOKEN",
"id": "PAGE-3-ID"
},..

CÁC GIỚI HẠN

* Mã truy cập Người dùng ngắn hạn có hiệu lực trong 1 giờ.

* Mã truy cập Người dùng dài hạn có hiệu lực trong 60 ngày.

* Mã truy cập Trang ngắn hạn có hiệu lực trong 1 giờ.

* Mã truy cập Trang dài hạn không có ngày hết hạn.

Bạn có thể vô hiệu hóa tất cả các mã truy cập dài hạn trước khi chúng hết hạn,
ngay cả với các mã truy cập Trang không có ngày hết hạn trong một số trường hợp.
Mã truy cập sẽ bị vô hiệu nếu người dùng kết thúc phiên với ứng dụng, nếu người
dùng yêu cầu mã không còn có vai trò trên ứng dụng hoặc Trang nữa hay khi hệ
thống phát hiện thấy vấn đề bảo mật.

VÔ HIỆU HÓA MÃ

Để vô hiệu hóa mã truy cập Trang hoặc Người dùng, người tạo mã truy cập sẽ cần
gỡ Ứng dụng rồi thêm lại. Hành động này sẽ vô hiệu hóa tất cả các mã truy cập do
người đó tạo cho Ứng dụng. Bài viết trợ giúp sau đây mô tả cách gỡ ứng dụng khỏi
người dùng hoặc doanh nghiệp.

* Gỡ ứng dụng khỏi người dùng [https://www.facebook.com/help/170585223002660]

* Gỡ ứng dụng khỏi tiện ích tích hợp cho doanh nghiệp
[https://www.facebook.com/help/405094243235242]

Sau đó, bạn có thể thêm lại Ứng dụng bằng cách lấy Mã truy cập người dùng
[https://developers.facebook.com/docs/pages/access-tokens/ -a-short-lived-user-access-token] hoặc
đăng nhập vào Ứng dụng.

TÌM HIỂU THÊM

HƯỚNG DẪN

* Đăng nhập bằng Facebook
[https://developers.facebook.com/docs/facebook-login/] – Tìm hiểu thêm về
cách sử dụng phương thức Đăng nhập bằng Facebook để yêu cầu quyền dùng cho
việc truy cập API Đồ thị.

* Tài liệu tham khảo về nút người dùng
[https://developers.facebook.com/docs/graph-api/reference/user] – Tìm hiểu
thêm về các trường, cạnh và phương thức của Nút người dùng.

* Tài liệu tham khảo về nút Trang
[https://developers.facebook.com/docs/graph-api/reference/page] – Tìm hiểu
thêm về các trường, cạnh và phương thức của Nút Trang.

* Mã truy cập
[https://developers.facebook.com/docs/facebook-login/access-tokens] – Tìm
hiểu thêm về các trường, cạnh và phương thức của Nút người dùng.

CÔNG CỤ

* Trình khám phá API Đồ thị
[https://developers.facebook.com/docs/graph-api/explorer -token-dropdown] –
Khám phá mã truy cập, quyền và điểm cuối của API Đồ thị.

* Công cụ gỡ lỗi mã truy cập
[https://developers.facebook.com/tools/debug/accesstoken] – Nhận thông tin
chi tiết về mã mà bạn đã tạo, chẳng hạn như loại, thời hạn và quyền.



Nguồn: https://artisanfinefood.com/

UPDATE 1> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả> api /user/profile (wtf), chat con...
29/03/2023

UPDATE 1

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả

> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api

> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên

> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn

thận, xét trên cả tầng proxy và tầng application.

/auth/refresh-token - 200 ✔️
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/t51/1/16/2714.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]]

/auth/refresh-token.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]]

/auth/refresh-token/attack.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api

endpoint.

Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME

type, vì vậy Content-type mà server có trả về là application/json thì cũng vô

nghĩa.

3. Nói cho CDN biết cái gì được cache

- Không cache:

Cache-Control: no-store

- Cache trên trình duyệt nhưng không cache trên CDN:

Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi

nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn: https://artisanfinefood.com/
[https://artisanfinefood.com/?fbclid=IwAR3678ftt6O96PrwJh65k1gsmm0UR6DC1OWdnDYTnXjmxHFJozd-WYOvtrA]

Nguồn: https://artisanfinefood.com/

UPDATE> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả> api /user/profile (wtf), chat conve...
29/03/2023

UPDATE

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả

> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api

> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên

> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn

thận, xét trên cả tầng proxy và tầng application.

/auth/refresh-token - 200 ✔️
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/t51/1/16/2714.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]]

/auth/refresh-token.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]]

/auth/refresh-token/attack.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api

endpoint.

Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME

type, vì vậy Content-type mà server có trả về là application/json thì cũng vô

nghĩa.

3. Nói cho CDN biết cái gì được cache

- Không cache:

Cache-Control: no-store

- Cache trên trình duyệt nhưng không cache trên CDN:

Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi

nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn: https://artisanfinefood.com/
[https://artisanfinefood.com/?fbclid=IwAR3678ftt6O96PrwJh65k1gsmm0UR6DC1OWdnDYTnXjmxHFJozd-WYOvtrA]

Nguồn: https://artisanfinefood.com/

29/03/2023

test

29/03/2023

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả

> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api

> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên

> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn

thận, xét trên cả tầng proxy và tầng application.

/auth/refresh-token - 200

[https://static.xx.fbcdn.net/.../emoj.../v9/t51/1/16/2714.png]

/auth/refresh-token.css -> 400

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png]

/auth/refresh-token/attack.css -> 400

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api

endpoint.

Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME

type, vì vậy Content-type mà server có trả về là application/json thì cũng vô

nghĩa.

3. Nói cho CDN biết cái gì được cache

- Không cache:

Cache-Control: no-store

- Cache trên trình duyệt nhưng không cache trên CDN:

Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi

nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn: https://artisanfinefood.com/

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯPAYPAL VÀ CHATGPT:> Hôm bữa mình chuyển c...
29/03/2023

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯ
PAYPAL VÀ CHATGPT:

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả

> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api

> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên

> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn

thận, xét trên cả tầng proxy và tầng application.

/auth/refresh-token - 200 ✔️
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/t51/1/16/2714.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]]

/auth/refresh-token.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]]

/auth/refresh-token/attack.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

[https://static.xx.fbcdn.net/.../emoj.../v9/tdd/1/16/274c.png
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api

endpoint.

Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME

type, vì vậy Content-type mà server có trả về là application/json thì cũng vô

nghĩa.

3. Nói cho CDN biết cái gì được cache

- Không cache:

Cache-Control: no-store

- Cache trên trình duyệt nhưng không cache trên CDN:

Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi

nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn: https://artisanfinefood.com/
[https://artisanfinefood.com/?fbclid=IwAR3678ftt6O96PrwJh65k1gsmm0UR6DC1OWdnDYTnXjmxHFJozd-WYOvtrA]

Nguồn: https://artisanfinefood.com/

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯPAYPAL VÀ CHATGPT:> Hôm bữa mình chuyển c...
29/03/2023

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯ
PAYPAL VÀ CHATGPT:

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả
> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api
> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên
> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn
thận, xét trên cả tầng proxy và tầng application.
/auth/refresh-token - 200 ✔️
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]
/auth/refresh-token.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]
/auth/refresh-token/attack.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api
endpoint.
Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME
type, vì vậy Content-type mà server có trả về là application/json thì cũng vô
nghĩa.
3. Nói cho CDN biết cái gì được cache
- Không cache:
Cache-Control: no-store
- Cache trên trình duyệt nhưng không cache trên CDN:
Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi
nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn: https://artisanfinefood.com/

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯPAYPAL VÀ CHATGPT:> Hôm bữa mình chuyển c...
29/03/2023

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯ
PAYPAL VÀ CHATGPT:

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả
> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api
> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên
> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn
thận, xét trên cả tầng proxy và tầng application.
/auth/refresh-token - 200 ✔️
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]
/auth/refresh-token.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]
/auth/refresh-token/attack.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api
endpoint.
Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME
type, vì vậy Content-type mà server có trả về là application/json thì cũng vô
nghĩa.
3. Nói cho CDN biết cái gì được cache
- Không cache:
Cache-Control: no-store
- Cache trên trình duyệt nhưng không cache trên CDN:
Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi
nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn:>https://artisanfinefood.com/

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯPAYPAL VÀ CHATGPT:> Hôm bữa mình chuyển c...
29/03/2023

KINH NGHIỆM TRÁNH BỊ HACK VÌ CDN CACHE DỮ LIỆU NHẠY CẢM SAU MẤY VỤ BIG TECH NHƯ
PAYPAL VÀ CHATGPT:

> Hôm bữa mình chuyển cả web qua Ezoic và kết quả CDN của Ezoic cache luôn cả
> api /user/profile (wtf), chat conversions (hên là web chỉ có public chat), api
> search info (vì api này mã hoá, content type trả về là text nên nó vậy) (hên
> là chưa có gì nghiêm trọng)

1. Không dùng regex nếu không hiểu rõ, dùng thì ^$ đầu đuôi, test kĩ lại cẩn
thận, xét trên cả tầng proxy và tầng application.
/auth/refresh-token - 200 ✔️
[https://static.xx.fbcdn.net/images/emoji.php/v9/t51/1/16/2714.png]
/auth/refresh-token.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]
/auth/refresh-token/attack.css -> 400 ❌
[https://static.xx.fbcdn.net/images/emoji.php/v9/tdd/1/16/274c.png]

2. Rewrite url cẩn thận,

Ví dụ rewrite sai:

/auth/refresh-token.css [nginx]=> /auth/refresh-token [application]

Nhất là tránh rewrite các url extension tĩnh như .css, .ico,... tới các api
endpoint.
Một số CDN như cloudflare họ cache theo extension chứ không cache theo MIME
type, vì vậy Content-type mà server có trả về là application/json thì cũng vô
nghĩa.
3. Nói cho CDN biết cái gì được cache
- Không cache:
Cache-Control: no-store
- Cache trên trình duyệt nhưng không cache trên CDN:
Cache-Control: private

- Tất nhiên là còn nhiều thứ về cache-control nữa, hãy hiểu về nó trước khi
nghịch dại.

Còn gì nữa anh em vào góp ý nhé!

Nguồn: https://artisanfinefood.com/ [https://artisanfinefood.com/]

LAMA CLEANER - KẺ HỦY DIỆT PHOTOSHOPTìm được cái app rất hay ho cho anh chị em chơi ảnh.Lama Cleaner là một công cụ inpa...
29/03/2023

LAMA CLEANER - KẺ HỦY DIỆT PHOTOSHOP

Tìm được cái app rất hay ho cho anh chị em chơi ảnh.

Lama Cleaner là một công cụ inpainting được cung cấp bởi SOTA AI model (yep, lại
AI). Nó là một công cụ rất mạnh mẽ dùng để loại bỏ những thứ bạn không mong muốn
trong bức ảnh: rác rến, khiếm khuyết, người thừa ở background, người yêu cũ,...
hoặc thay thế chúng bằng bất cứ thứ gì bạn muốn. Nó rất tiện lợi và nhanh chóng,
tôi chỉ mất khoảng 1 phút là làm xong 2 bức ảnh ví dụ ở dưới, trong khi với PS,
chắc sẽ mất ít nhất là 15' hoặc nửa tiếng.

Link: https://github.com/Sanster/lama-cleaner
[https://github.com/Sanster/lama-cleaner?fbclid=IwAR1W496fUF97ZgZRs7msHZAq37JzMXTLNhfS1Npn9H5ckE0G7TJ8rEEjDKw]

Có 2 cách để cài đặt:

1. Cài miễn phí: vào link trên, click vào phần "pip", làm theo hướng dẫn. Việc
này hơi rắc rối tí vì đòi hỏi bạn phải biết 1 chút về coding (đủ để hiểu mình
đang làm gì thôi). Vì Github là trang chuyên dành cho dân lập trình nên họ sẽ
không hướng dẫn cụ thể từng bước đâu.

2. Cài mất phí: vào link trên, chọn "Window 1-click installer" -> get the
installer at here -> Sẽ mất ít $ để tải (tùy tâm, tốt nhất là từ 3-5$ ủng hộ).
Sau khi tải, unzip và bạn sẽ có 2 file: win_config.bat và win_start.bat.

Đầu tiên, double click vào win_config.bat trước, sẽ mất vài phút để cho chương
trình tải (khoảng hơn 8GB). Khi hiện ra bảng config, xem ảnh hướng dẫn setting.

Sau khi setting xong, nhớ bấm vào Save Configurations. Sau đó, double click vào
win_start.bat, ở lần đầu tiên chạy, sẽ mất một lúc để máy tính download model.

Khi sử dụng, dùng brush tool hoặc "interactive segmentation" (cái này giống như
là magic wand trong PS) để mask khu vực bạn muốn xóa hoặc thay thế, dùng model
Lama để xóa vật thể, dùng các model khác như: sd 1.5, manga,... để thay thế vật
thể.

Video tham khảo cách sử dụng: https://www.youtube.com/watch?v=aYia7Jvbjno&t=48s
[https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaYia7Jvbjno%26t%3D48s%26fbclid%3DIwAR36TrXES_FeyWfqx4oJSZr709l2n92gsrhA31zu2x0BI5PBDqfqVk_TaY8&h=AT1ck0lhvOSkHHIiQI_dIiTD4BDjMmqFVX4Ak-awDImtw1FRefFJdzt7gdkUCrCU6IXtsw0WLaGaI02ZoKfF7XzTXtnyTBPsx3MeQr19tzic40Kjk6tONuv6eXMN0TEuVGU1&__tn__=-UK-R&c[0]=AT0YXnVZ-1Lf7PmJnNWxxLF0if5WaMejE5By2nKcsrzs8XDmDqRCVFZVpdbD0VUeAQQXClDtl9FDPw_igKJK1Wfu6r_YDIyKEOpaYg1cGE39xvwpNljpnm-8n1qqhuYSVNYKS5NoUFaNaBzie4NtYZu_GUGzwrTbAtmDEjpTScEl_5q9XN-UijApJpxpiqZ54jZavjBzz0XPoGJRrFj6pOY]

Ưu điểm:
- Mạnh mẽ, nhanh chóng, tiện lợi
- Dễ sử dụng
Nhược điểm:
- Hiện chỉ hỗ trợ máy tính (Win hoặc mac)
- Cách cài đặt vẫn chưa thân thiện với người ko biết gì về máy tính, dù là bản
cài đặt dễ dàng Window 1-click installer.
- Đòi hỏi máy tính khỏe 1 chút, máy càng khỏe thì làm càng nhanh
- Nên nhớ đây là do AI làm nên không hoàn hảo. Còn nếu muốn mọi thứ đúng theo ý
mình thì tốt nhất là vẫn nên dùng photoshop.

Nguồn: https://artisanfinefood.com/

LAMA CLEANER - Kẻ hủy diệt PhotoshopTìm được cái app rất hay ho cho anh chị em chơi ảnh.Lama Cleaner là một công cụ inpa...
29/03/2023

LAMA CLEANER - Kẻ hủy diệt PhotoshopTìm được cái app rất hay ho cho anh chị em chơi ảnh.

Lama Cleaner là một công cụ inpainting được cung cấp bởi SOTA AI model (yep, lại AI). Nó là một công cụ rất mạnh mẽ dùng để loại bỏ những thứ bạn không mong muốn trong bức ảnh: rác rến, khiếm khuyết, người thừa ở background, người yêu cũ,... hoặc thay thế chúng bằng bất cứ thứ gì bạn muốn. Nó rất tiện lợi và nhanh chóng, tôi chỉ mất khoảng 1 phút là làm xong 2 bức ảnh ví dụ ở dưới, trong khi với PS, chắc sẽ mất ít nhất là 15' hoặc nửa tiếng.

Link: https://github.com/Sanster/lama-cleaner

Có 2 cách để cài đặt:

1. Cài miễn phí: vào link trên, click vào phần "pip", làm theo hướng dẫn. Việc này hơi rắc rối tí vì đòi hỏi bạn phải biết 1 chút về coding (đủ để hiểu mình đang làm gì thôi). Vì Github là trang chuyên dành cho dân lập trình nên họ sẽ không hướng dẫn cụ thể từng bước đâu.

2. Cài mất phí: vào link trên, chọn "Window 1-click installer" -> get the installer at here -> Sẽ mất ít $ để tải (tùy tâm, tốt nhất là từ 3-5$ ủng hộ). Sau khi tải, unzip và bạn sẽ có 2 file: win_config.bat và win_start.bat.

Đầu tiên, double click vào win_config.bat trước, sẽ mất vài phút để cho chương trình tải (khoảng hơn 8GB). Khi hiện ra bảng config, xem ảnh hướng dẫn setting.

Sau khi setting xong, nhớ bấm vào Save Configurations. Sau đó, double click vào win_start.bat, ở lần đầu tiên chạy, sẽ mất một lúc để máy tính download model.

Khi sử dụng, dùng brush tool hoặc "interactive segmentation" (cái này giống như là magic wand trong PS) để mask khu vực bạn muốn xóa hoặc thay thế, dùng model Lama để xóa vật thể, dùng các model khác như: sd 1.5, manga,... để thay thế vật thể.

Video tham khảo cách sử dụng: https://www.youtube.com/watch?v=aYia7Jvbjno&t=48s

Ưu điểm:
- Mạnh mẽ, nhanh chóng, tiện lợi
- Dễ sử dụng
Nhược điểm:
- Hiện chỉ hỗ trợ máy tính (Win hoặc mac)
- Cách cài đặt vẫn chưa thân thiện với người ko biết gì về máy tính, dù là bản cài đặt dễ dàng Window 1-click installer.
- Đòi hỏi máy tính khỏe 1 chút, máy càng khỏe thì làm càng nhanh
- Nên nhớ đây là do AI làm nên không hoàn hảo. Còn nếu muốn mọi thứ đúng theo ý mình thì tốt nhất là vẫn nên dùng photoshop.
Nguồn: undefined

Rượu vang đỏ loại nào ngon? Rượu vang đỏ ngon nào hợp nhất với nhu cầu của mìnhhiện tại? Đây gần như là hai câu hỏi, mà ...
29/03/2023

Rượu vang đỏ loại nào ngon? Rượu vang đỏ ngon nào hợp nhất với nhu cầu của mình
hiện tại? Đây gần như là hai câu hỏi, mà bất kỳ ai trong lần đầu tiên đi chọn
cho mình một chai rượu vang, luôn luôn suy nghĩ đến. Sẽ là một việc vô cùng khó
khăn, khi phải chọn giữa các loại rượu vang đỏ ngon nhất, một chai rượu vang phù
hợp với mình.

Hiểu được điều đó, chúng tôi gửi đến bạn bài viết dưới đây. Trong bài viết này,
chúng tôi sẽ chia sẻ cùng bạn một số thông tin và kiến thức; về các loại rượu
vang đỏ ngon trên thế giới.

> >> Xem toàn bộ sản phẩm rượu vang đỏ ngon nhất của Winemart tại đây
> [https://winemart.vn/ruou-vang-do]

Các loại rượu vang và rượu vang Winemart
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Các-loại-rượu-vang-đỏ-tại-Winemart-1.jpg]

Các loại rượu vang đỏ tại Winemart Hi vọng qua bài viết này, bạn sẽ không cần
phải băn khoăn về việc rượu vang đỏ loại nào ngon. Và sẽ dễ dàng chọn cho mình
một chai rượu vang ưng ý.

1. CÁC LOẠI RƯỢU VANG NGON TRÊN THẾ GIỚI

Khi nhắc đến các loại rượu vang ngon trên thế giới; hầu hết những chuyên gia
thưởng thức rượu vang thường sẽ nghiêng về rượu vang đến từ các quốc gia Old
World Wine. Chẳng hạn như: Pháp, Ý, Tây Ban Nha,... Xem thêm một số thông tin
đáng lưu ý khác:

* 12 sự thật thú vị về rượu vang đỏ, mà bạn chưa từng biết đến
[https://winemart.vn/12-su-that-thu-vi-ve-vang-do/]
* Những loại rượu vang Mỹ ngon dưới 300k mà bạn nên uống
[https://winemart.vn/ruou-vang-my/]
* Rượu vang Chile nào ngon nhất hiện nay?
[https://winemart.vn/ruou-vang-chile-nao-ngon/]
* Rượu vang đỏ giá bao nhiêu [https://winemart.vn/ruou-vang-do-gia-bao-nhieu/]
* Rượu Vang Argentina - Hương Vị Nam Mỹ
[https://winemart.vn/ruou-vang-argentina/]
* Giá rượu vang Pháp Bordeaux và cách chọn mua rượu vang giá tốt
[https://winemart.vn/ruou-vang-bordeaux/]

Gia đình
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Những-quốc-gia-sản-xuất-rượu-vang-trên-thế-giới.jpg]

Những quốc gia sản xuất rượu vang trên thế giới Tuy nhiên với sự nổi lên nhanh
chóng của những quốc gia New World Wine như: Chile, Úc, Mỹ,.... Việc góp mặt của
họ trong danh sách các loại vang đỏ ngon nhất thế giới là không thể thiếu. Mỗi
quốc gia làm rượu vang đều luôn muốn tạo ra loại rượu vang với chất lượng tốt
nhất. Và thật vậy, những quốc gia này đã tạo ra rất nhiều dòng rượu vang nổi
tiếng trên thế giới. Trong đó, nổi bật nhất là những dòng rượu vang đỏ - loại
rượu mang sắc đỏ mạnh mẽ và đầy nam tính.

2. SƠ LƯỢC VỀ VANG ĐỎ

Trong ngành công nghiệp rượu vang, có đến hàng trăm loại nho làm rượu vang cũng
như nhiều phương pháp làm vang khác nhau. Nhưng tất cả các loại rượu vang có thể
được gom thành năm nhóm cơ bản. Đó là vang đỏ, vang trắng, vang hồng, vang ngọt
và vang sủi tăm [https://winemart.vn/sparkling-la-gi/]. Vang đỏ, trong số đó, là
loại vang phổ biến và được yêu thích nhất.

Các loại rượu vang và rượu vang Winemart
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Các-loại-rượu-vang-đỏ-tại-Winemart.jpg]

Các loại rượu vang đỏ tại Winemart Rượu vang đỏ là rượu vang được làm từ nho đỏ.
Sắc đỏ đẹp mắt bạn thấy trong những ly vang đỏ
[https://winemart.vn/ly-uong-ruou-vang/] là đến từ vỏ nho. Vang trắng
[https://winemart.vn/wine/white-wine/] có thể được làm từ cả nho đỏ lẫn nho
trắng. Tuy nhiên nho trắng thì không thể dùng để làm vang đỏ được. Bởi vì, thịt
nho, dù là nho trắng hay nho đỏ, thì cũng đều là không màu. Tất cả các sắc tố
màu đều nằm trong phần vỏ nho.

Khi những trái nho đỏ vừa được hái, chúng được đem đến máy ép lấy nước. Sau đó
nước ép nho đỏ được lên men chung với vỏ nho. Theo đó, con men tự nhiên có trên
vỏ nho sẽ ăn lượng đường trong nước ép nho và chuyển thành cồn. Trong quá trình
đó, nước ép nho (vốn dĩ không màu) được nhuộm sắc đỏ từ vỏ nho. Nước ép nho càng
được ngâm lâu với vỏ nho, thì màu sắc của vang làm ra sẽ càng đậm.

3. NHỮNG GIỐNG NHO ĐỎ PHỔ BIẾN TRÊN THẾ GIỚI

Nho Văn làm vang vang
[https://bewinemart.ducanhzed.com/wp-content/uploads/2019/04/Nho-đỏ-làm-rượu-vang.jpg]

Nho đỏ làm rượu vang Như đã nói ở trên, có hàng trăm loại nho dùng để làm vang
đỏ. Vì thế, cũng có đến hàng trăm hàng trăm loại vang đỏ khác nhau. Không phải
tất cả các loại vang đỏ đều có hương và vị giống nhau. Thậm chí mỗi chai vang
đều khác biệt nhau khi đi vào vòm miệng. Bạn có thể nói rằng bạn không thích
vang đỏ.

Nhưng thật ra đó chẳng qua chỉ là do bạn chưa chọn đúng chai vang hợp với mình.
Nếu chỉ nói riêng về việc rượu vang đỏ nào ngon thôi cũng là điều rất khó khăn
rồi. Chứ chưa nói đến việc phải bình chọn loại rượu vang đỏ nào ngon nhất. Dù
vậy sau đây chúng tôi sẽ nói về 3 loại rượu vang đỏ phổ biến nhất, để giúp bạn
đỡ bối rối hơn khi phải lựa chọn cho mình chai vang phù hợp.

3.1. RƯỢU VANG ĐỎ LÀM TỪ NHO CABERNET SAUVIGNON

Giống như tên gọi của mình, loại vang này có thành phần chủ yếu là giống nho
Cabernet Sauvignon [https://winemart.vn/type-varietal/cabernet-sauvignon/]. Đây
là một loại nho phổ biết nhất vì nó xuất hiện ở hầu hết các quốc gia làm rượu
vang. Nó cũng là một trong những giống nho làm nên vang pha trộn phong cách
Bordeaux nổi tiếng. Giống nho này cũng rất dễ trồng và dễ thích nghi với nhiều
điều kiện thời tiết và khí hậu. Vì vậy nên dù có nguồn gốc từ Pháp thì nó cũng
được trồng ở nhiều nơi khác trên thế giới như California (Mỹ), Washington (Mỹ),
Chile, Úc, Argentina, New Zealand, Canada,…

Nho Cabernet Sauvignon
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Nho-Cabernet-Sauvignon.jpg]

Nho Cabernet Sauvignon Nho Cabernet Sauvignon có vỏ khá dày, vì vậy nó phát
triển tốt nhất ở những vùng hay khu vực có khí hậu ấm áp. Bởi vì điều kiện thời
tiết đó giúp nó dễ chín nhanh hơn. Phần lớn những chai rượu vang được tạo ra từ
giống nho này đều được ủ trong các thùng gỗ sồi. Ngoài ra, mỗi nhà sản xuất
trong quá trình làm vang sẽ có những công thức và thủ thuật riêng của mình để
làm nổi bật hơn hương vị của nho. Chính vì những yếu tố đó, đối với một số người
những chai rượu vang đỏ Cabernet Sauvignon chính là loại rượu vang đỏ ngon nhất
thế giới. Có lẽ loại rượu vang đỏ ngon nhất là loại rượu này chăng?

ĐẶC ĐIỂM CỦA VANG ĐỎ LÀM TỪ CABERNET SAUVIGNON

Vang làm ra có vị khá đậm đà (full-bodied). Mùi hương đặc trưng là quả lý chua
đen, quả anh đào đen cho tới mùi cay của tiêu đen, mùi oliu, thuốc lá, vani, ớt
chuông,… Rượu vang kết hợp tốt với những món thịt nướng có nhiều gia vị. Bởi vì
độ tannin [https://winemart.vn/tannin-la-gi/] dồi dào trong vang sẽ dễ dàng cân
bằng những gia vị đó. Tuy nhiên, lưu ý không nên kết hợp vang với sốt cà chua.
Do độ chua trong đó sẽ không dễ hòa hợp với tannin trong vang. Vang Trapiche Oak
Cask Cabernet Sauvignon
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Trapiche-Oak-Cask-Cabernet-Sauvignon.jpg]

Vang Trapiche Oak Cask Cabernet Sauvignon
[https://winemart.vn/vang-trapiche-oak-cask-cabernet-sauvignon]

3.2. NHO SYRAH/ SHIRAZ

Nho Syrah là một loại nho đỏ có nguồn gốc từ thung lũng Rhone, thuộc phía nam
nước Pháp. Tuy nhiên, bạn cũng sẽ dễ dàng bắt gặp giống nho này với một cái tên
gọi khác là Shiraz. Nho Syrah
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Nho-Syrah.jpg]

Nho Syrah Shiraz là tên gọi của nho Syrah khi nó được trồng ở những quốc gia như
Úc hay Nam Phi ở Nam Bán Cầu. Dù có được gọi là Shiraz, thì nó thật ra cũng
chính là nho Syrah khi nó được trồng ở Pháp hay ở California, Mỹ.

ĐIỂM ĐẶC TRƯNG CỦA VANG ĐỎ SYRAH/ SHIRAZ

Đây cũng là vang đỏ đậm đà và chứa nhiều tannin như Cabernet Sauvignon. Nhưng
khác với vẻ xù xì của tannin trong Cabernet Sauvignon thì Syrah
[https://winemart.vn/shiraz/] mượt mà hơn nhiều. Mùi hương đặc trưng là của
những trái cây dại có vỏ sẫm màu (mâm xôi, việt quất). Ngoài ra còn có mùi của
cây cỏ và gia vị cay (hương thảo, bạc hà, tiêu, thuốc lá và đinh hương).

Syrah với vị cay đặc trưng nên kết hợp tốt với các loại thịt thú rừng, thịt bò,
thịt hầm với nước sốt tiêu đen cay. Vị vang sẽ hòa quyện cùng vị thịt, tạo ra
những trải nghiệm cực kỳ khác biệt. Vang Las Moras Reserva Syrah
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Vang-Las-Moras-Reserva-Syrah.jpg]https://winemart.vn/vang-las-moras-reserva-syrah-750ml/

Vang Las Moras Reserva Syrah [https://winemart.vn/vang-las-moras-reserva-syrah/]

3.3. NHO PINOT NOIR

Pinot Noir là một giống nho đỏ được trồng ở vùng Bourgogne (Burgendy) kể từ thế
kỷ thứ 12. Pinot Noir là một giống nho có vỏ khá mỏng và khá nhạy cảm với môi
trường. Nho phát triển tốt ở nơi có khí hậu tương đối ấm áp.

Nho Pinot Noir
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Nho-Pinot-Noir.jpg]

Nho Pinot Noir Nếu xét trên vòng tròn màu sắc của vang đỏ thì Pinot Noir nằm ở
phần có màu nhạt nhất. Tuy nhiên, Pinot Noir lại được rất nhiều người vì ưa
thích mà bình chọn là một trong các loại rượu vang ngon nhất thế giới.

ĐIỂM ĐẶC TRƯNG CỦA VANG ĐỎ PINOT NOIR

Vang đỏ làm từ Pinot Noir [https://winemart.vn/type-varietal/pinot-noir/] có thể
có vị từ đậm vừa (medium-bodied) cho tới nhẹ nhàng (light-bodied). Hương và vị
chính của Pinot Noir là quả nam việt quất, quả mâm xôi đỏ, quả anh đào đen, nấm
và thuốc lá. Vang đỏ Pinot Noir có lượng tannin khá thấp. Nhưng lại mang vị axit
(vị chua) từ trung bình cho tới cao.

Mặc dù là vang đỏ nhưng Pinot Noir lại có thể kết hợp ổn với những loại thức ăn
bạn thường nghĩ sẽ đi với vang trắng. Chẳng hạn như hải sản, cá hồi, cá ngừ và
thịt gà. Vang Allan Scott Pinot Noir
[https://bewinemart.ducanhzed.com/wp-content/uploads/2018/10/Vang-Allan-Scott-Pinot-Noir.jpg]https://winemart.vn/vang-allan-scott-marlborough-750ml/

Vang Allan Scott Pinot Noir
[https://winemart.vn/vang-allan-scott-marlborough-pinot-noir]

Hy vọng đọc đến đây, bạn đã có thể mường tượng được rượu vang đỏ loại nào ngon.
Và dựa vào đó, bạn sẽ có thể dễ dàng chọn lựa cho mình chai vang đỏ ưng ý. Hãy
tiếp tục đón đọc những bài tiếp theo của Winemart với nhiều thông tin thú vị hơn
nhé.

Address


Website

Alerts

Be the first to know and let us send you an email when Nodejs posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Shortcuts

  • Address
  • Alerts
  • Claim ownership or report listing
  • Want your business to be the top-listed Convenience Store?

Share