Thứ Sáu, 25 tháng 3, 2022

SEO tại chỗ

 

SEO tại chỗ là gì?

SEO tại chỗ (còn được gọi là SEO trên trang) là thực hành tối ưu hóa các yếu tố trên một trang web (trái ngược với các liên kết ở nơi khác trên Internet và các tín hiệu bên ngoài khác được gọi chung là " SEO ngoài trang ") để xếp hạng cao hơn và kiếm được nhiều lưu lượng truy cập có liên quan hơn từ các công cụ tìm kiếm. SEO tại chỗ đề cập đến việc tối ưu hóa cả nội dung và mã nguồn HTML của một trang.

Cả SEO tại chỗ và ngoài trang web hình thành hai trong số những điều cơ bản của Tối ưu hóa Công cụ Tìm kiếm khi cố gắng xếp hạng trang web của bạn.

Ngoài việc giúp các công cụ tìm kiếm diễn giải nội dung trang, SEO tại chỗ thích hợp còn giúp người dùng hiểu nhanh chóng và rõ ràng nội dung của một trang và liệu nó có giải quyết truy vấn tìm kiếm của họ hay không. Về bản chất, SEO tại chỗ tốt giúp các công cụ tìm kiếm hiểu được con người sẽ nhìn thấy gì (và họ sẽ nhận được giá trị gì) nếu họ truy cập một trang, để các công cụ tìm kiếm có thể cung cấp một cách đáng tin cậy những gì mà khách truy cập sẽ coi là nội dung chất lượng cao về một truy vấn tìm kiếm cụ thể (từ khóa).

Mục tiêu cuối cùng của SEO tại chỗ có thể được coi là cố gắng làm cho cả công cụ tìm kiếm và người dùng:

  • Hiểu trang web nói về điều gì;
  • Xác định trang đó có liên quan đến truy vấn tìm kiếm hoặc các truy vấn (tức là một từ khóa hoặc tập hợp từ khóa cụ thể );
  • Tìm trang đó hữu ích và xứng đáng được xếp hạng tốt trên trang kết quả của công cụ tìm kiếm (SERP).

Từ khóa, nội dung và SEO tại chỗ

Trong quá khứ, SEO tại chỗ đồng nghĩa với việc sử dụng từ khóa - và cụ thể là bao gồm một từ khóa có giá trị cao ở một số vị trí chính trên một trang web.

Để hiểu tại sao từ khóa không còn là trung tâm của SEO tại chỗ, điều quan trọng là phải nhớ những thuật ngữ đó thực sự là gì: chủ đề nội dung . Về mặt lịch sử, việc một trang được xếp hạng cho một thuật ngữ nhất định hay không phụ thuộc vào việc sử dụng các từ khóa phù hợp ở những vị trí nhất định, được mong đợi trên một trang web để các công cụ tìm kiếm tìm và hiểu nội dung của trang web đó. Trải nghiệm người dùng chỉ là thứ yếu; chỉ cần đảm bảo rằng các công cụ tìm kiếm đã tìm thấy từ khóa và xếp hạng một trang web có liên quan cho các thuật ngữ đó là trọng tâm của các phương pháp SEO tại chỗ.

Tuy nhiên, ngày nay, các công cụ tìm kiếm đã trở nên phức tạp hơn theo cấp số nhân. Họ có thể trích xuất ý nghĩa của trang từ việc sử dụng các từ đồng nghĩa, ngữ cảnh mà nội dung xuất hiện hoặc thậm chí chỉ bằng cách chú ý đến tần suất mà các kết hợp từ cụ thể được đề cập. Mặc dù việc sử dụng từ khóa vẫn còn quan trọng, nhưng các phương pháp quy định như sử dụng từ khóa đối sánh chính xác ở các vị trí cụ thể một số lần cần thiết không còn là đối tượng thuê của SEO trên trang nữa. Điều quan trọng là sự phù hợp . Đối với mỗi trang của bạn, hãy tự hỏi mức độ liên quan của nội dung với mục đích của người dùng đằng sau các truy vấn tìm kiếm (dựa trên việc sử dụng từ khóa của bạn cả trên trang và trong HTML của nó).

Theo cách này, SEO tại chỗ không phải là việc lặp lại từ khóa hoặc vị trí mà nhiều hơn về việc hiểu người dùng của bạn là ai, họ đang tìm kiếm gì và về những chủ đề (từ khóa) nào mà bạn có thể tạo nội dung đáp ứng tốt nhất nhu cầu đó. Các trang đáp ứng các tiêu chí này có nội dung:

  • Chiều sâu. Nội dung "mỏng" là một trong những mục tiêu cụ thể của Google Panda ; ngày nay ít nhiều người ta cho rằng nội dung phải đủ kỹ lưỡng để có cơ hội xếp hạng tốt.
  • Thân thiện với người dùng. Nội dung có đọc được không? Nó có được tổ chức trên trang web của bạn theo cách dễ dàng điều hướng không? Nó có nói chung là sạch sẽ, hay rải rác với các quảng cáo và các liên kết liên kết ?
  • Độc nhất. Nếu không được giải quyết đúng cách, nội dung trùng lặp từ nơi khác trên trang web của bạn (hoặc nơi khác trên Internet) có thể ảnh hưởng đến khả năng xếp hạng của trang web trên SERPs.
  • Có thẩm quyền và đáng tin cậy . Nội dung của bạn có tự đứng như một nguồn thông tin đáng tin cậy về một chủ đề cụ thể không?
  • Phù hợp với mục đích tìm kiếm của người dùng. Một phần của việc tạo và tối ưu hóa cho nội dung chất lượng cũng mang lại sự mong đợi của người tìm kiếm. Chủ đề nội dung phải phù hợp với các truy vấn tìm kiếm mà chúng xếp hạng.

SEO tại chỗ không liên quan đến từ khóa

Ngoài các từ khóa (chủ đề) được sử dụng trong nội dung trên trang web và cách chúng được thảo luận, có một số yếu tố "từ khóa-bất khả tri" có thể ảnh hưởng đến việc tối ưu hóa tại chỗ của một trang.

Chúng bao gồm những thứ như:

Tất cả các yếu tố này đều quay trở lại cùng một ý tưởng cơ bản: tạo ra trải nghiệm người dùng tốt. Trang càng có thể sử dụng được (từ góc độ kỹ thuật và phi kỹ thuật), thì khả năng tối ưu hóa tại chỗ của trang đó càng tốt.

Làm cách nào để bạn tối ưu hóa một trang?

Việc tối ưu hóa hoàn toàn một trang trên trang web của bạn yêu cầu cả những thay đổi dựa trên văn bản và HTML. Hãy xem bài viết này để biết thêm thông tin về các yếu tố trên trang web góp phần vào xếp hạng và cách bạn có thể cải thiện các trang web của chính mình.

Thứ Tư, 18 tháng 3, 2015

Lắp Đặt Internet FPT Bình Định, Quy Nhơn - 0932 562 115

FPT QUY NHƠN BÌNH ĐỊNH
Chương trình Khuyến mãi Đăng ký lắp mạng FPT Bình Định: ADSL, GPON, cáp quang FTTH 
tháng 03/2015 tại Quy Nhơn Bình Định, Phú Tài, Thị xã An Nhơn và Thị trấn Diêu Trì
fpt binh dinh

GÓI CƯỚC FPT BÌNH ĐỊNH CÁP ADSL GIA ĐÌNH

FPT Bình Định

GÓI CƯỚC CÁP QUANG GPON VÀ FTTH GIA ĐÌNH
Gói cước internet cáp quang gia đình áp dụng tại Thị xã An Nhơn

FPT Bình Định

 GÓI CƯỚC CÁP QUANG CHO DOANH NGHIỆP VÀ PHÒNG GAME NET
FPT Bình Định
* Tư vấn đăng ký Lắp Mạng Internet FPT Bình Định:  0932 562 115 *
* Tổng đài Hỗ trợ Kỹ thuật 24/24h FPT Bình Định:  (056) 625 2777 *

Khách hàng khi Lắp mạng FPT Bình Định:

- Khách hàng tự trang bị Modem FPT Bình Định: 50.000đ
FPT Bình Định trang bị Modem Wifi 1 cổng: 200.000đ
- Đặc biệt giảm phí hòa mạng cho KH đăng ký gói MegaYou, MegaMe của FPT Bình Định

*** Ưu đãi cho KH trả trước khi Lắp Mạng FPT Bình Định:

- Trả trước 6 tháng FPT Bình Định: Miễn phí hòa mạng + Modem Wifi 1 cổng
- Trả trước 12 tháng FPT Bình Định: Miễn phí hòa mạng + Modem Wifi 1 cổng + tặng tháng cước thứ 13

*** Ghi chú: Tất cả giá trên của FPT Bình Định chưa bao gồm 10% VAT

*** Đối với đối tượng Khách hàng là Sinh viên, Khách hàng là người ngoại huyện, ngoại tỉnh khi đăng ký Lắp mạng FPT Bình Định Khách hàng vui lòng đặt cọc trước 2 tháng tiền cước, sau này sẽ được trừ vào cước hàng tháng cho Khách hàng FPT Bình Định.
Quý khách hàng vui lòng liên hệ 0932 652 115 để nhận được tư vấn về giá cước khuyến mãi tốt nhất của FPT Bình Định.

Thứ Ba, 21 tháng 10, 2014

Đánh giá Moto 360: liệu đẹp có là đủ?

Đẹp, quá đẹp là điều mà người ta nhắc đến Moto 360 nhiều nhất. Chiếc đồng hồ của Motorola cực kỳ độc đáo với thiết kế bề mặt hình tròn, nó thanh lịch và đầy duyên dáng. Thế nhưng vẻ đẹp đó cũng đi kèm với một nhược điểm chết người: Moto 360 chỉ có thể sử dụng được vừa tròn một ngày làm việc, nếu tối đó bạn đi chơi thì chúng ta sẽ phải tháo chiếc đồng hồ ra mà quay trở về với màn hình điện thoại để xem giờ. Liệu bạn có sẵn sàng bỏ ra khoảng 6 triệu đồng cho một sản phẩm như vậy?


Thiết kế:
Khi mà đại đa số các đồng hồ thông minh trên thế giới đều có hình vuông hoặc hình chữ nhật, có cố gắng lắm thì nó cũng chuyển thành dạng cong như Samsung Gear Fit hay Sony Smartband Talk thì Motorola lại đưa ra 360, chiếc đồng hồ đầu tiên có hình tròn. Motorola là công ty đã đưa ra những mẫu điện thoại đầu tiên có thiết kế màn hình tròn như V70 (màn hình vuông nhưng khung tròn) hay Aura đình đám một thời và giờ là 360. Thiết kế phá cách hoàn toàn đó làm cho 360 trở nên thật sự khác biệt ngay từ khi nó mới ra mắt.
Moto 360-20.
Rất khó để diễn tả vẻ đẹp của Moto 360, nếu bạn đứng ở góc nhìn của một người thích thiết bị công nghệ cao thì rõ ràng Moto 360 thật tuyệt vời, nó như đến từ tương lại với sự tối giản trong mọi chi tiết mà gần như không có một sản phẩm đeo được trên thị trường có thể so sánh. Để tưởng tượng, 360 giống như một khối hộp phi thuyền tàu vũ trụ với nút nguồn là cánh cửa mở ra một thế giới mới, sẵn sàng xoay tròn đều để bay lên bầu trời bất cứ lúc nào. Thế nhưng nếu xét ở phương diện một chiếc đồng hồ truyền thống, rõ ràng chúng ta có nhiều điểm để nói hơn về 360.
Moto 360-5.
Chuyển sang hệ quy chiếu của đồng hồ thông thường, Moto 360 có thiết kế của dòng sản phẩm Dress Watch với một chút gì đó thanh lịch, có thể đeo hằng ngày hoặc khi cần mặc đồ hơi trang trọng. Ở góc nhìn đó, Moto 360 dày hơn mức cần thiết và hơi thiếu cái gì đó trang nhã, thanh thoát nằm trong bản chất của các đồng hồ Dress Watch. Cá nhân mình thì vẫn đeo 360 đến tất cả các sự kiện một cách bình thường nhưng một số bạn khó tính hơn thì hẳn vẫn sẽ đeo các đồng hồ cao cấp. Mình nghĩ số người khó tính cũng không nhiều, hầu hết họ đều có đồng hồ riêng và đeo 360 cho thời trang, trẻ trung hơn.

Mình có khá nhiều kinh nghiệm đeo các thiết bị thông minh ra đường, ngày trước khi đeo Nike Fuelband rất nhiều người quay sang nhìn mỗi khi xem giờ với dải đèn LED nhiều màu làm màn hình, khi dùng Misfit Shine, Gear Fit hay Smartband Talk thì ít người hỏi hơn còn 360 thì gần như là không ai để ý :D Đây cũng là một ưu điểm, nó trông khá giống một chiếc đồng hồ bình thường, chỉ khi để ý kỹ người ta mới thấy sự khác biệt và sẽ ít bị giựt hơn ở Việt Nam. Anh @Airblade14 từng bị giựt Fitbit Force khi đeo trên tay ở TP.HCM.

Cần lưu ý là Moto360 rất lớn so với cổ tay người Việt Nam, đường kính của nó là 46mm trong khi hầu hết chúng ta phù hợp với những gì dưới 42-43mm hơn. Cổ tay mình thuộc loại hơi nhỏ, khi đeo Moto360 lên vẫn thấy khá đẹp nhưng bạn nên thử trước để bảo đảm là tay chúng ta hợp với 360. Nếu Motorola làm một máy có đường kính nhỏ hơn thì có lẽ 360 sẽ tốt hơn rất nhiều. Những ai cổ tay vừa nhỏ vừa lộ rõ các khớp, không phẳng đều thì tốt rất không nên thử, nhìn rất xấu.​
stone-leather-watch.1-3242. ​
Trên thị trường hiện nay chỉ có 2 chiếc đồng hồ thông minh có thiết kế tròn là LG G Watch R và 360 và cả 2 đi theo những hướng rất khác nhau. G Watch R lớn hơn rõ ràng, thể thao, mạnh mẽ hơn khi đeo vì cách thiết kế những đường tròn đồng tâm cao thấp khác nhau còn 360 lại nhẹ nhàng và thanh toát hơn.
Moto 360-10.
Moto dùng thép để làm khung cho sản phẩm, sau đó họ đưa các linh kiện vào bên trong để giữ nó không bị di chuyển. Ngoài ra, Moto còn dùng da thật do Horween, một công ty gần trăm năm tuổi ở Mỹ sản xuất tại Mỹ. Trên website của công ty này thì các sợi dây đồng hồ bán lẻ với giá khoảng 59$, tức tương đương 1/4 giá bán lẻ đề xuất 360. Với cách hoàn thiện và thiết kế như vậy thì cảm giác đeo 360 thật tuyệt vời, nó gần với đồng hồ truyền thống nhất so với tất cả các đồng hồ thông minh khác. Nói cho rõ thì Moto360 là một chiếc đồng hồ thật sự chứ không phải một vật đeo tay giả đồng hồ.
Moto 360-11.

Moto 360-9.
Về chất lượng hoàn thiện và chế tạo sản phẩm, mình đánh giá 360 thuộc loại tốt chứ chưa đặt được mức xuất sắc hay tinh xảo. Đây chính là lý do những người quá khó tính sẽ không thật sự hài lòng với sản phẩm này. Dù vậy, khi so sánh với đại đa số các thiết bị đeo đang có mặt trên thị trường, 360 vẫn nổi trội hơn hẳn.

Cần lưu ý: Motorola dùng mặt kính bảo vệ Gorilla Glass 3 chứ không phải sapphire, do vậy nó cũng dễ trầy khi có các vật thể nhỏ như bụi hay cát trên màn hình.

Về câu hỏi Moto360 chống bụi, chống nước tốt không thì câu trả lời là có. Sản phẩm này hỗ trợ IP67, tức bạn không cần lo về bụi, còn về nước thì nó hoạt động được nửa tiếng ở độ sâu 1m.
Moto 360-12.
Màn hình:
Moto 360 sử dụng màn hình LCD 1.56", một quyết định khá lạ của Motorola thay cho màn hình OLED được sử dụng nhiều hơn trên Smartwatch. Màn hình này có độ phân giải 320x290 với mật độ điểm ảnh 205 pixel nên nó rỗ và thiếu sắc nét. Để dễ hình dung thì bạn cứ nhớ về thời chúng ta xài Samsung Galaxy S, HTC HD2 hay iPhone 3GS, nó cũng tựa tựa như vậy.​

Moto 360-19.
Trừ khi bạn có thói quen nhìn gần, độ phân giải này cũng không quá tệ. Ở khoảng cách nhìn đồng hồ là hơn 30cm thì nhược điểm về độ phân giải cũng không bị lộ quá nhiều, nhưng khi chuyển về khoảng 15-20cm để chạm vào màn hình cảm ứng điều khiển thì chúng ta sẽ ít hài lòng hơn một chút.

Có một nhược điểm mà nhiều người nhắc tới trên Moto 360 là màn hình không được tròn toàn bộ, có một phần diện tích bị đen do Moto dùng để chứa các mạch điều khiển và cảm biến ánh sáng. Khi dùng thực tế thì mình cũng không thấy nó là một cái gì đó quá xấu, vẫn chấp nhận được. Trừ khi bạn cố gắng để ý nó, còn không Moto 360 vẫn rất đẹp.

Có một câu hỏi rất nhiều người đặt ra: màn hình Moto 360 có nhìn được khi ra nắng hay không. Câu trả lời là có và không. Nếu bạn để chế độ màn hình luôn kích hoạt, tức lúc nào cũng hiển thị giờ (không có tác dụng với các mặt đồng hồ kiểu analog, đồng hồ điện tử mới chạy) thì khi ra nắng bạn sẽ không thấy gì vì màn hình thường xuyên tắt đèn nên để tiết kiệm pin. Chỉ khi chúng ta đưa tay lên, cảm biến chuyển động sẽ hiểu và kích hoạt đèn nền tùy theo môi trường xung quanh. Chính vì vậy, khi ra ngoài trời thì ý nghĩa của việc màn hình lúc nào cũng hiển thị bị giảm đi rất nhiều. Và kể cả ở độ sáng lớn nhất thì chúng ta không không dễ quan sát màn hình Moto 360 ở môi trường nắng gắt như Việt Nam, đặc biệt là ở khung 11 giờ trưa tới 3 giờ chiều.

Hoạt động:
Moto 360-8.
Moto 360 là một màn hình phụ của Google Now, nó khóa chặt vào hệ thống này. Điều này đồng nghĩa với Google Now có thể làm gì thì 360 cũng làm được, một đặc điểm của Android Wear. Lấy ví dụ, nếu muốn hẹn giờ bạn chỉ việc nói Remind me to Wake up at 7am thì 7 giờ sáng mai đồng hồ sẽ gọi bạn dậy. Cũng tương tự như Google Now, các lệnh nào nó không hiểu thì đồng hồ sẽ hiển thị kết quả từ Google.
Moto 360-14.
Tuy nhiên, điểm hay nhất của Android Wear là nó không chỉ dừng lại ở những chức năng ra lệnh như vậy mà nó kết hợp trực tiếp với hệ thống cảnh báo của hệ thống, tức toàn bộ những cảnh báo trên máy đều được chuyển qua đồng hồ, kể cả những thông tin yêu cầu cập nhật phần mềm hay các thông báo từ bên thứ 3. Hơn thế nữa, những cảnh báo được Google hỗ trợ như tin nhắn thoại, email hay kể cả Facebook Messenger đều có thể phản hồi ngay lập tức trên đồng hồ mà chúng ta không cần phải đụng tới điện thoại. Bạn chỉ việc nói, và toàn bộ những gì chúng ta nói sẽ được chuyển thành dạng văn bản để gửi đi.

Phần quan trọng nhất ở đây là tiếng Việt. Google Now hỗ trợ ra lệnh bằng tiếng Việt nhưng Moto 360 không hỗ trợ điều đó. Có thể Google vẫn muốn Android Wear hoàn thiện hơn trước khi đưa ra thị trường thế giới, một điều khá đáng tiếc khi rất nhiều người dùng Việt Nam vẫn sẵn sàng để dùng.

Timely notification cũng là một chức năng rất hay cần nhắc tới. Bạn nào từng dùng Google Now hẳn sẽ hiểu, khi chúng ta đi ra sân bay nó sẽ hiển thị thông tin thời tiết, quãng đường hay tình trạng chuyến bay để chúng ta sắp xếp thời gian. Trên thực tế thì Google Now không thật sự hữu ích ở Việt Nam nên tính năng này dù tốt cũng chưa được như mong đợi.

Sức khỏe:
Sức khỏe là tính năng được Motorola nhấn khá nhiều trên chiếc đồng hồ của bạn. Không được trang bị barometer mà Moto360 chỉ dùng pedometer, do vậy nó sẽ không thể theo dõi áp suất và độ cao, dừng lại ở theo dõi các hoạt động của chúng ta. Ngoài ra, Moto360 còn có thêm cảm biến nhịp tim ở phía sau để thông báo trạng thái cho người dùng.
Moto 360-6.
Nếu chỉ có vậy, Moto360 cũng không có gì đặc biệt. Điểm mạnh của 360 đến từ việc nó tận dụng màn hình lớn để hiển thị những thông tin mà nó cho là cần thiết với người dùng, chẳng hạn như nếu bạn chưa hoạt động đủ 30 phút trong ngày, đồng hồ sẽ cảnh báo cho chúng ta năng động hơn. Các cảnh báo này có thể bỏ qua bằng một cú vuốt nếu bạn muốn nhưng thông thường thì nó sẽ khuyến khích chúng ta rất nhiều. Mọi người đều muốn khỏe lên nhưng làm việc cả ngày thì ai cũng hay quên, chẳng hạn như quên uống nước hay đi lại sau khi ngồi liên tục nửa tiếng. Lúc này thì Moto360 sẽ tỏ ra rất hữu ích.
Moto 360-7.
Toàn bộ thông tin mà đồng hồ theo dõi sẽ được đồng bộ lên tài khoản Google Fit để bạn chuyển đổi giữa các máy sau này. Điểm mình thích nhất ở khả năng theo dõi của Moto360 là nó sẽ hiển thị cho mình biết nhịp tim nào là tốt, nhịp bao nhiêu là quá nhanh hay chậm. Thường thì mỗi người sẽ có nhịp tim khác nhau tùy vào độ tuổi, do vậy các thông tin này sẽ giúp cho chúng ta rất nhiều.

Phần mềm:
Sử dụng Android Wear, tất nhiên Moto360 có rất nhiều phần mềm riêng cho nó. Cần lưu ý là Google hỗ trợ cả màn hình tròn và vuông nên sẽ có một số mặt đồng hồ không tối ưu cho 360 và ngược lại. Ngoài các mặt, chúng ta còn cài được thêm rất nhiều ứng dụng khác. Chẳng hạn như bạn muốn theo dõi sức khỏe bằng Endomondo, chúng ta chỉ cần cài ứng dụng vào điện thoại và nói Ok Google, Endomondo, đồng hồ sẽ theo dõi hoạt động của người dùng và đồng bộ với phần mềm tương ứng trên điện thoại.
Moto 360-24.
Bản thân Google khi làm ra Android Wear cũng nhúng rất nhiều dịch vụ của họ vào, chẳng hạn như Google Maps micro dẫn đường hay hiển thị chi tiết nội dung thư Google. Thử Ok Google và nói tiếp Take me home, nó sẽ dẫn bạn về tới nhà, khi cần rẻ phải hay trái thì đồng hồ sẽ hiển thị mà không cần chúng ta phải đụng tới điện thoại, an toàn hơn rất nhiều.

Pin:
Pin chưa bao giờ là điểm mạnh của Smartwatch, kể cả thiết bị tốt nhất cũng chỉ tồn tại không tới một tuần. Lý do quá đơn giản, nó phải tốn nhiều năng lượng cho các con chip theo dõi hoạt động và đặc biệt là màn hình. Moto360 thuộc loại thiết bị có pin tệ nhất, bạn nghĩ viên pin 320mAh đủ gánh màn hình LCD 1.56”, chip TI OMAP 3 và 512MB RAM được trong mấy tiếng?
Moto 360-2.
Thực tế sử dụng cho thấy nếu kích hoạt chế độ luôn hiển thị (độ sáng tắt hoặc tăng giảm tùy theo môi trường) thì Moto360 chạy được gần một ngày làm việc, tức 7 giờ sáng rút sạc và 5 giờ tối ra khỏi công ty. Cần lưu ý là mình có khá nhiều cảnh báo và facebook, một ngày có thể lên tới cả trăm cảnh báo FB, email, tin nhắn… là chuyển bình thường. Nếu bạn dùng ít hơn thì pin sẽ lâu hơn một chút, có thể tới 7-8 giờ ở bản firmware mới nhất. Với kiểu pin như vậy thì mình buộc phải mang theo sạc nếu muốn đi chơi vào ban đêm.
Moto 360-18.
Nếu tắt Bluetooth điện thoại và để đồng hồ nằm yên, không theo dõi chuyển động của chúng ta hay hiển thị các cảnh báo thì Moto360 có thời gian chờ vào khoảng gần 3 ngày. Thử nghiệm này để các bạn có thể ước lượng thời gian chúng ta sử dụng.
Moto 360.
Thật may mắn là Moto360 không sử dụng bất cứ chuẩn sạc riêng nào mà Motorola dùng Qi để sạc không dây. Bạn chỉ việc đặt 360 lên đế của nó và đồng hồ sẽ tự sạc, hiển thị một mặt đồng hồ khá đẹp để chúng ta xem giờ vào buổi tối. Với việc dùng Qi, mình có thể dùng một viên pin di động hỗ trợ Qi để sạc trên đường đi.

Kết luận:
Moto360 rất tiềm năng, nó quá đẹp và là đồng hồ thông minh tuyệt vời nhất đang được thương mại hóa trên thị trường. Tuy nhiên, phần mềm chưa thể hiện được nhiều và pin hơi thấp là một nhược điểm cần nhắc tới. Câu trả lời mua 360 hay không phụ thuộc vào việc bạn có đủ khả năng tài chính và có sẵn sàng sạc thêm một thiết bị nữa mỗi tối hay không!

Ưu điểm:
Cao nhất nhất trong số các đồng hồ thông minh được bán hiện tại.
Thiết kế rất đẹp và cổ điển
Tính năng trả lời bằng giọng nói rất tuyệt
Hệ thống cảnh báo hiệu quả
Cho phép mở rộng bằng Android Wear Store

Nhược:
Pin
Phần mềm còn nhiều điểm để nói
Đôi lúc hoạt động chưa ổn định, thậm chí bị force quit toàn hệ thống (mình chỉ bị 1 lần trong 2 tuần sử dụng)

Moto 360-3.Moto 360-4.

Thứ Năm, 19 tháng 6, 2014

Sử dụng Nonce trong WordPress

Trong khi xây dựng 1 website thì vấn đề quan trọng không thể thiếu đó là bảo mật. Có rất nhiều cách để tăng cường tính bảo mật trong WordPress. Bạn Thạch cũng đã có bài viết về một số cách bảo mật trong WordPress. Các bạn có thể xem lại tại đây. Trong bài viết này mình sẽ hướng dẫn thêm cho các bạn cách bảo mật vớiNonce, một cách hiệu quả để hạn chế việc tấn công theo kỹ thuật Cross Site Request Forgery (CSRF).
nonce trong wordpress
nonce trong wordpress

1. Nonce là gì?

Hiểu đơn giản nó là 1 chuỗi duy nhất được tạo ra bởi WordPress cho mỗi người dùng. Nó giúp bảo vệ website khỏi những request tự tạo với mục đích xấu.
Ví dụ như thế này cho các bạn dễ hiểu. Giả sử mình có 1 link dùng để xóa bài viết như thế này:
1
<a href="http://domain/?action=delete&id=1">Xóa</a>
Khi mình click vào link thì bài viết sẽ được xóa bình thường. Ok, không vấn đề gì. Nhưng vấn đề xảy ra nếu người dùng có dụng ý xấu. Họ sử dụng 1số thủ thuật nào đó để thông qua quyền của mình và thực hiện việc chạy lại đường link trên với 1 id khác thì sao? Bài viết khác có thể bị xóa cho dù mình không click vào nút xóa. Bây giờ các bạn đã thấy vấn đề rồi chứ. Ngoài ra thì khi dùng form để submit dữ liệu cũng vẫn bị vấn đề trên.
Vậy làm sao để xác định được chính xác 1 request do người dùng thực hiện thông qua click link hay submit form ?
Việc cần làm là chúng ta phải tạo ra thêm 1 nonce cho request và trang xử lý phải xác nhận cái nonce này. Nếu nonce không hợp lệ thì không xử lý request. Làm như vậy thì chúng ta mới xác định được chính xác thao tác đấy(click link, submit form) là thực sự của người dùng tạo ra.

2. Các sử dụng

Như đã nói ở trên nonce là 1 chuỗi vậy chuỗi này được tạo ra như thế nào? Mở file wp_config.php lên và tìm đến 2 hằng NONCE_KEY và AUTH_SALT. Các bạn thấy chưa ạ? Một dãy các ký tự đúng không nào? WordPress đã sử dụng dụng 2 hằng này và hash cùng với một số thông số khác sau như action, user id … sau đó cắt ra 1 đoạn để tạo ra nonce đấy.
Cách đơn giản và linh động nhất là các bạn sử dụng hàm wp_create_nonce($action) để tạo nonce và dùng hàm wp_verify_nonce($nonce, $action) để xác nhận.
Giả sử với link xóa bài như bên trên, mình cần tạo ra 1 nonce, đưa nonce này vào query string, bên trang xử lý sẽ xác nhận nonce thông qua query string.
1
2
3
$nonce = wp_create_nonce(' delete_1'); //tạo nonce
 
echo '<a href="http://domain/?action=delete&id=1&_nonce='.$nonce.'">Xóa</a>';
Các bạn thấy đấy, mình đã tạo thêm 1 nonce với $action truyền vào là delete_1. Và mình đã đưa nó vào query string để verify bên trang xử lý. Tên _nonce các bạn có thể đổi lại tùy ý. Lưu ý: với $action các bạn đặt như thế nào thì trang xử lý các bạn phải verify lại như thế đó.
Bên trang xử lý các bạn chỉ cần xác nhận cái nonce này trước khi xử lý. Không hợp lệ thì ngưng xử lý:
1
2
3
if(!wp_verify_nonce($_GET['_nonce'], 'delete_'.$_GET['id'])) exit();
 
//code xử lý ở đây ....
Bên trang xử lý chúng ta verify nonce thông qua hàm wp_verify_nonce. Với $nonce là $_GET['_nonce'], và $action là ‘delete_’.$_GET['id']. Vì ở trên nonce được tạo từ ‘delete_1′ nên trang xử lý cần verify đúng $action đó theo dạng delete_{id}.
Thực chất hàm này sẽ tạo ra 1 nonce khác theo $action và so sánh nó với nonce get được.
Đơn giản thế thôi, ngoài cách sử dụng trên wordpress còn cung cấp các hàm để tạo và kiểm tra nonce khác để áp dụng vào từng trường hợp cụ thể.
Để tạo nonce cho url, ngoài cách trên ra chúng ta có thể sử dụng thêm hàm wp_nonce_url( $actionurl, $action, $name ) hàm này sẽ trả về cho chúng ta 1 đường dẫn đầy đủ chứa nonce.
Tham số:
  • $actionurl chính là đường dẫn để add nonce vào.
  • $action tương tự trên.
  • $name là tên của nonce, mặc định là _wpnonce
Cũng với ví dụ trên mình sử dùng hàm wp_nonce_url() để tạo:
1
2
3
$nonce_url = wp_nonce_url('http://domain/?action=delete&id=1', 'delete_1');
 
echo '<a href="'. $nonce_url.' ">Xóa</a>';
Khi xem thì các bạn thấy đường dẫn nó cũng tương tự cách trên, _wpnonce chính là tham số $name mặc định, các bạn muốn đổi thành tên khác thì tùy chỉnh tại tham số này.
1
http://domain/?action=delete&id=1&_wpnonce=e73a52569c
Tiếp tục để tạo nonce cho 1 form các bạn có thể dùng thêm hàm wp_nonce_field( $action, $name, $referer, $echo ). Các tham số như $action và $name thì tương tự trên. Tham số$referer sẽ nhận giá trị true hoặc false, quyết định hiển thị thêm 1 field ẩn chứa đường dẫn hiện tại. $echo cũng nhận giá trị true hoặc false, quyết định hàm wp_nonce_field() sẽ hiển thị hay trả về kết quả.
Khi sử dụng hàm này với $referer là true các bạn sẽ thấy trong form có thêm 2 trường dạng như thế này:
1
2
3
<input type="hidden" id="_nonce" name="_nonce" value="43bc8cf75e" />
 
<input type="hidden" name="_wp_http_referer" value="/phanmem/ " />
Về cách verify nonce thì WordPress cung cấp thêm cho chúng ta 2 hàm nữa khác làcheck_admin_referer() và check_ajax_referer().
Hàm check_admin_referer() sẽ dùng để verify nonce trong trang quản lý. Hàm này nhận 2 tham số là $action và $query_arg với $action thì tương tự, $query_arg chính là $name của nonce. Hàm này sẽ trả về true nếu nonce hợp lệ và ngược lại là false.
Giả sử có 1 form dạng như thế này:
1
2
3
4
5
6
7
<form method="post">
 
    //.......
 
   <?php wp_nonce_field( 'myaction','mynonce' ); ?>
 
</form>
Thì khi verify các bạn làm như sau:
1
2
3
if(!check_admin_referer('myaction', 'mynonce')) die();
 
  
Hàm check_ajax_referer() sẽ verify nonce thông qua Ajax. Hàm này nhận 3 tham số, 2 tham số đầu là $action và $query_arg tương tự hàm trên, với tham số thứ 3 là $die, nếu nonce không hợp lệ, và tham số này set true thì sẽ ngưng xử lý, nếu false thì bỏ qua. Mặc định là true.
Thời gian sống mặc định của 1 nonce là 24 giờ. Các bạn vẫn có thể chỉnh sửa lại thông qua hooknonce_life.
1
add_filter( 'nonce_life', function () { return 4 * HOUR_IN_SECONDS; } );
Hằng HOUR_IN_SECONDS sẽ trả về số giây trên giờ (3600).

3. Lời kết

Mình đã hướng dẫn xong cho các bạn cách bảo mật WordPress với Nonce để hạn chế việc tấn công theo kỹ thuật CSRF trong khi phát triển theme và plugin. Hy vọng với những kiến thức này có thể giúp các bạn bảo vệ website của mình tốt hơn.
(Thachpham.com)