Useful Tools for ASP.NET Developers

This post lists useful tools for ASP.NET developers.


  1. Visual Studio

    1. Visual Studio Productivity Power toolextensions to Visual Studio Professional (and above) with rich features like quick find, solution navigator, searchable add-reference dialog, etc.

    2. ReSharperProductivity tools for .NET developers. improves code quality, eliminates errors by providing quick fixes, etc.

    3. Web EssentialsBoosts productivity and helps if efficiently writing CSS, JavaScript, HTML, etc.

    4. MSVSMONThe Remote Debugging Monitor (msvsmon.exe) is a small application that Visual Studio connects to for remote debugging. During remote debugging, Visual Studio runs on one computer (the debugger host) and the Remote Debugging Monitor runs on a remote computer together with the applications that you are debugging.

    5. WIX toolsetbuilds Windows installation packages from XML source code.

    6. Code diggerCode Digger is Visual Studio 2012/2013 extension which helps you to understand behavior of your code.

    7. CodeMaidCodeMaid is an open source Visual Studio 2012/2013/2015 extension to cleanup, dig through and simplify your code.

    8. OzCodePowerful Visual Studio debugger visualizer.

    9. CodeRushIt is a refactoring and productivity plugin for Visual Studio.

    10. T4 Text TemplateIn Visual Studio, T4 Text Template is used as template to generate code files. The template can defined by writing text block and control logic.

    11. Indent GuidesAdds vertical lines at each indent level.

    12. PowerShell Tools: A set of tools for developing and debugging PowerShell scripts and modules in Visual Studio 2015.

  2. ASP.NET

    1. FiddlerTo capture http request/response as well as simulate request behavior.

    2. AutoMapperObject to object mapping. Like, the tool can be used to map entity objects to domain objects instead of writing manual mapping code.

    3. Unity/Ninject/Castle Windsor/StructureMap/Spring.NetDependency injection framework. There are a lot of DI frameworks available.

    4. .NET Reflector.NET assembly decompiler.

    5. dotPeek.NET assembly decompiler.

    6. ILSpy.NET assembly decompiler.

    7. memprofilerPowerful tool to find memory leak and optimize memory usage.

    8. PostSharpRemoves repetitive coding and prevent code bloating due to cross-cutting concerns with aspect oriented programming.

    9. ASPhere: Web.config editor with GUI.

  3. WCF

    1. SOAP UIAPI testing tool which supports all standard protocol and technologies.

    2. WireSharkIt is a network protocol analyzer for Unix and Windows. It can capture traffic at TCP level and help you see soap envelop.

    3. Svc TraceViewerprovides better view of huge trace file which is produced by WCF.

    4. Svc Config Editor: GUI tool for managing WCF related configurations.

  4. MSMQ

    1. ​​​​​​​QueueExplorer 3.4copy, move or delete messages, save and load, stress test, view and edit full message bodies (with special support for .Net serialized objects), and much more for MSMQ.

  5. LINQ

    1. LINQ Pad?: LINQPad is a light weight tool to test linq queries against SQL Server database. It can also test code snippet written in different .NET languages like C#, VB, etc.

    2. LINQ InsightLINQ Insight Express is a Visual Studio add-in that allows you to analyze your LINQ queries at design-time and simplifies writing and debugging LINQ queries.

  6. RegEx

    1. RegEx tester: Extension for Visual Studio for regular expression testing.

    2. regexr: Online RegEx develop and testing tool.

    3. regexpalOnline RegEx develop and testing tool.

    4. Expresso: Expresso is a destop tool for RegEx develop and testing.

    5. RegexMagic : Tools to auto-generate regular expression from text pattern. The user need to feed the pattern by marking the substrings and selecting different options. Based on that the regex will be auto-generated. The tools also generates the required code in different language.

  7. Javascript/JQuery/AngularJS

    1. JSHint: JavaScript code quality tool. There is one more tool JSLine which enforces stricter rules.

    2. JSFiddle: It provides an environment inside the browser to test HTML, CSS and Javascript/JQuery.

    3. Protractor: End to end framework to test angular application.

  8. SQL Server

    1. SQL ProfilerSQL trace for monitoring instance of database engine.

    2. SQL Sentry Plan explorerThe tool provides better graphical view of SQL Query execution plan.

    3. SQL CompleteProvides Intellisense functionality and Improved SQL Formatter in SQL Server Management Studio and Visual Studio.

    4. NimbleTextText manipulation and code generation tool.

    5. Query Express: Light weight SQL Query analyzer like tool.

    6. IO MeterProvides detail of IO subsystem.

    7. sqldecryptorDecrypts SQL Server objects like Stored Procedures, Functions, Triggers, Views which were encrypted WITH ENCRYPTION option.

    8. SpatialViewerTo view and create spatial data.

    9. ClearTraceimports trace and profiler files into SQL Server and displays summary performance information.

    10. Internals Viewer for SQL ServerInternals Viewer is a tool for looking into the SQL Server storage engine and seeing how data is physically allocated, organized and stored.

    11. PALreads in a perfmon log and analyzes it using known thresholds.

    12. sqlquerystressassists with performance stress testing of T-SQL queries and routines.

  9. NHibernate

    1. NHibernate Mapping Generator generates NHibernate mapping files and corresponding domain classes from existing DB tables.

  10. Tally

    1. Tally ERP 9

    2. Tally dlla dynamic link library for .net to integrate your application with Tally Accounting software to push and pull data progrmmatically.

  11. Code Review

    1. StyleCopStyleCop is a static code analysis tool which enforces set of configured style and consistency rules for your C# source code. It can be run from inside of Visual Studio or integrated into an MSBuild project. 

    2. FxCop?: FxCop is a static code analysis tool which enforces development standards by analyzing .NET assembly.

  12. Traffic Capture

    1. WireShark: It is a network protocol analyzer for Unix and Windows. It can capture traffic at TCP level. 

    2. HTTP Monitorenables the developer to view all the HTTP traffic between your computer and the Internet. This includes the request data (such as HTTP headers and form GET and POST data) and the response data (including the HTTP headers and body).

  13. Diagnostic

    1. Glimpse: Provides server side diagnostic data. Like, for an ASP.NET MVC project, you need to add it from NuGet. The Glimpse data can show you latency at different levels and really indicate areas where you can optimize your code/solution to boost performance.

  14. Performance

    1. PerfMon: monitors system performance using performance counters.

    2. yslowYSlow analyzes web pages and indicates why they’re slow based on Yahoo!’s rules for high performance web sites.

  15. Code Converter

    1. Telerik Code ConverterC# to VB and VB to C# code converter. It is an online editor. But you can choose 'Batch Converter' and upload files in zip format.

  16. Data Extraction and Loading

    1. FileHelpers.NET library to import/export data from fixed length or delimited records in files, strings or streams.

    2. LogParser: You can write SQL to queries against a variety of log files and export the data to a variety of destinations like SQL tables, CSV files.

  17. Screen Recording

    1. Wink: Presentation creation software. Using Wink, you can capture screenshots, add explanations, comments, etc. and create the demo.

  18. Text Editor

    1. Notepad++: Source code editor. 

    2. Notepad2Light-weight feature rich Notepad-like text editor.

    3. sublimetext: A feature rich text editor.

  19. Documentation

    1. GhostDocGhostDoc is a Visual Studio extension that automatically generates XML documentation comments for methods and properties based on their type, parameters, name, and other contextual information.

    2. helpndoc: helpndoc is a tool to create help files. It can generate files in different formats from a single source.

  20. Others

    1. FileZilla: FileZilla is a free FTP solution. FileZilla Client for FTP file uploadingand FileZilla Server for file share.

    2. TreeTrimTreeTrim is a tool that trims the source code tree. It removes debug files, source control bindings, and temporary files.

    3. BrowserStack: cross browser testing website.

    4. Firebug: Feature rich firefox add on for CSS, HTML and JavaScript development on generated web page.

    5. BugShooting: Screen capture software which takes a screen shot and attaches to the work items, bugs, issue tracker items, etc.

    6. Postman: REST client. You can send http request and analyze response for REST applications.

    7. Web developer checklist: the checklist ensures best practices for web development.

    8. XRAY: Firefox add-on. Feature rich bookmarklet. Provides information about element in webpage.

    9. PowerGUIhelps to quickly adopt and use PowerShell to efficiently manage your entire Windows environment.

Các phím tắt hay dùng trong Photoshop

Hẳn với thời đại công nghệ thông tin như hiện nay, sẽ có rất nhiều người sẽ phải làm việc và tiếp xúc thường xuyên Adobe Photoshop - Phần mềm thiết kế đồ hoạ - chỉnh sửa ảnh đa dụng số 1 thế giới.

Nhóm những phím tắt trong Photoshop được hệ thống chi tiết dưới đây sẽ giúp các bạn tiết kiệm tối đa thời gian thao tác xử lý trên màn hình để thu được những hiệu quả tốt nhất cho công việc của mình.
Các lệnh tắt được sắp xếp lại dựa theo tài liệu của FPT Arena giúp bạn đọc dễ dàng phân loại và ghi nhớ theo hệ thống và tiện sử dụng.

Nhóm phím tắt hệ thống FILE

Nhóm lệnh File
Tương ứng
Nội dung
CTRL + N New Tạo File mới
CTRL + O Open Mở file
CTRL + ALT + O Open As Mở file từ Adobe Bridge
CTRL + W Close Đóng file
CTRL + S Save Lưu
CTRL + SHIFT + S Save As Lưu ra các dạng #
CTRL + ALT + S Save a Copy Lưu thêm 1 bản copy
CTRL + P Print In ảnh

Nhóm phím tắt F

Nhóm lệnh F
Nội dung
F1 Mở trình giúp đỡ
F2 Cut
F3 Copy
F4 Paste
F5 Mở Pallete Brush
F6 Mở Pallete màu
F7 Mở Pallete Layer
F8 Mở Pallete Info
F9 Mở Pallete Action

Nhóm lệnh thao tác với Layer

Lệnh tắt với LAYER Tương ứng Nội dung
CTRL + SHIFT + N New > Layer Tạo Layer mới
CTRL + J New > Layer Via Copy Nhân đôi Layer
CTRL + SHIFT + J New > Layer Via Cut Cắt Layer
CTRL + G Group with Previous Tạo nhóm Layer
CTRL + SHIFT + G Ungroup Bỏ nhóm Layer
CTRL + SHIFT + ] Arrange > Bring to Front Chuyển Layer lên trên cùng
CTRL + ] Arrange > Birng to Forward Chuyển Layer lên trên
CTRL + [ Arrange > Send Backward Chuyển Layer xuống dưới
CTRL + SHIFT + [ Arrange > Send to Back Chuyển Layer xuống dưới cùng
CTRL + E Merge Down Ghép các Layer được chọn
CTRL + SHIFT + E Merge Visible Ghép tất cả các Layer

Các lệnh chọn SELECT trong Photoshop

Nhóm phím SELECT Tương ứng Nội dung
CTRL + A All Chọn tất cả
CTRL + D Deselect Bỏ vùng chọn
CTRL + SHIFT + D Reselect Chọn lại vùng chọn
CTRL + SHIFT + I Inverse Nghịch đảo vùng chọn
CTRL + ALT + D Feather Mờ biên vùng chọn
CTRL + F Last Filter Lặp lại Filter cuối cùng
CTRL + SHIFT + F Fade Chỉnh Opacity Brush

Các phím tắt với nhóm IMAGE

Nhóm lệnh IMAGE Tương ứng Nội dung
CTRL + L Ajust > Levels Bảng Levels
CTRL + SHIFT + L Ajust > Auto Levels Tự động chỉnh Levels
CTRL + ALT + SHIFT + L Ajust > Auto Contrast Tự động chỉnh Contrast
CTRL + M Ajust > Curves Bảng Curves
CTRL + B Ajust > Color Blance Bảng Color Blance
CTRL + U Ajust > Hue/Saturation Bảng Hue/Saturation
CTRL + SHIFT + U Ajust > Desaturate Bảng Desaturate
CTRL + I Ajust > Invert Bảng Invert

Cách lệnh tắt với nhóm lệnh EDIT

Nhóm lệnh tắt EDIT Tương ứng Nội dung
[ Zoom + Brush Phóng to nét bút
] Zoom - Brush Thu nhỏ nét bút
CTRL + Z Undo Trở lại bước vừa làm
CTRL + ALT + Z Undo More Trở lại nhiều bước
CTRL + X Cut Cắt
CTRL + C Copy Copy
CTRL + SHIFT + C Copy Merged Copy Merged
CTRL + V Paste Paste
CTRL + SHIFT + CTRL + V Paste Into Paste chồng lên
CTRL + T Free Transform Xoay hình / Chỉnh ti lệ
CTRL + SHIFT + T Transform > Again Làm lại bước Free Transform

Nhóm phím tắt công cụ -Toolbar

Nhóm phím tắt công cụ Tool bar
Tương ứng
Nội dung
V Move Di chuyển
M Marquee Tạo vùng chọn
L Lasso Tạo vùng chọn tự do
W Magic Wand Tạo vùng chọn theo màu
C Crop Cắt hình
I Eyedroppe Chấm màu . Thước kẻ
J Healing Brush Chấm sửa chỗ chưa hoàn chỉnh
B Brush Nét bút
S Clone Stamp Lấy mẫu từ 1 ảnh
Y History Brush Gọi lại thông số cũ của ảnh
E Eraser Tẩy
G Paint Bucket Đổ màu/Đổ màu chuyển
. Smudge Tool Mô tả hiện tường miết tay
O Burn Làm tối ảnh
P Pen Tạo đường path . vector
T Horizontal Type Viết chữ
A Path Selection Chọn đường Path . Vector
U Round Retange Vẽ các hình cơ bản
H Hand Hand Tool
Z Zoom Phóng to / nhỏ hình
D Defaul Background
Quay về màu cơ bản ban dầu
X Swich Foreground
& Background color
Đổi màu trên bảng mà

Nhóm phím tắt VIEW

Nhóm phím tắt VIEW
Tương ứng
Nội dung
CTRL + Y Preview>CMYK Xem màu CMYK
CTRL + SHIFT + Y Gamut Warning Xem gam màu ngoài hệ CMYK
CTRL + + Zoom In Phóng to
CTRL + - Zoom Out Thu nhỏ
CTRL + 0 Fit on Screen Xem hình tràn màn hình
CTRL + SHIFT + H Hide Path Ẩn các đường Path
CTRL + R Show Rulers Hiện thước
CTRL + ; Hide Guides Ẩn Guides
CTRL + SHIFT + ; Snap To Guides Nhẩy bằng Guides
CTRL + ALT + ; Lock Guides Khoá Guides
CTRL + “ Show Grid Hiện lưới
CTRL + SHIFT + ‘ Snap To Grid Nhẩy bằng lưới

Hi vọng bài viết sẽ mang đến cho các bạn những kiến thức mới và hỗ trợ cho vông việc đồ hoạ của bạn.

Cách tự bảo vệ trước extension độc hại trên trình duyệt

Vào giữa tháng 1/2014, Ars Technica đưa ra một tuyên bố khiến cả Internet phải sững sờ: các tiện ích mở rộng (extension) trên Chrome hoàn toàn có thể bị bán lại cho các tổ chức tội phạm nhằm cài đặt quảng cáo và thậm chí là các loại mã độc có thể thu thập các thông tin nhạy cảm của bạn.

Tiện ích mở rộng và trình duyệt

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Adblock Plus, một tiện ích mở rộng được nhiều người sử dụng

Tiện ích mở rộng (extension) là một phần quan trọng của các trình duyệt web. Chúng sẽ thay đổi trải nghiệm web của bạn theo nhiều cách: một số extension thay đổi cách hiển thị của các trang web (ví dụ như tự động đổi đơn vị từ mét thành dặm và ngược lại), một số khác cho phép trình duyệt hiển thị một số loại nội dung riêng (ví dụ như Silverlight của Microsoft), một số khác gia tăng tính bảo mật (chặn mã độc quảng cáo, chặn danh sách đen)…

Điều đáng nói nhất về các extension là chúng hoàn toàn độc lập với trình duyệt được bổ trợ. Điều này có nghĩa rằng các tiện ích mở rộng cho Chrome không do Google trực tiếp quản lý và các tiện ích mở rộng cho Firefox cũng nằm ngoài sự kiểm soát của Mozilla. Các tiện ích mở rộng sẽ phải tuân thủ chính sách của Google và Mozilla, song nếu đã được phát hành và cài đặt trên trình duyệt của người dùng, chúng có thể cập nhật và lây lan mã độc tới hàng triệu máy vi tính trước khi bị phát hiện và gỡ bỏ khỏi kho tiện ích của Google và Mozilla.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Sau khi sang tên đổi chủ, Add to Feedly tràn ngập các phản hồi báo cáo rằng tiện ích này chứa mã độc

Đây không còn là một nguy cơ tiềm ẩn trên lý thuyết mà đã trở thành hiện thực: vào tháng Một vừa qua, một nhà phát triển extension đã bán lại tiện ích "Add to Feedly" của mình cho một tài khoản Google khác. Sau đó, chủ sở hữu mới đã cập nhật Add to Feedly để cài mã độc quảng cáo (adware) và thậm chí là chuyển hướng (redirect) các đường dẫn trên trang web. Vụ việc xảy ra nằm ngoài khả năng kiểm soát của cả Google lẫn người dùng: ai có thể nghĩ rằng một bản cập nhật đối với một tiện ích mở rộng đã được Google chấp thuận đưa lên Chrome Web Store lại có thể chứa mã độc?

Vậy, các tiện ích mở rộng tiềm ẩn bao nhiêu nguy cơ? Bạn có thể làm gì để tự bảo vệ mình?

Tiện ích mở rộng quảng cáo

Có rất nhiều tiện ích mở rộng có thể chèn các mẩu quảng cáo lên trang web được hiển thị lên trình duyệt. Chúng chỉ cần lấy dữ liệu quảng cáo từ máy chủ và chèn nội dung này vào bất cứ phần nào trên trang web. Phần lớn người dùng không nhận ra lỗ hổng này, chỉ đơn giản là bởi vì họ thường bỏ qua các mẩu quảng cáo.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Mẩu quảng cáo này không có trên trang gốc. Chúng bị Add to Feedly tự ý chèn vào phần hiển thị trên trình duyệt của người dùng.

Với nhiều người, quảng cáo trên các trang web không thực sự là một vấn đề nghiêm trọng. Thực tế, nhờ có doanh thu từ quảng cáo mà các dịch vụ/trang web lớn (bao gồm cả Google, Facebook và Yahoo) mới có thể tồn tại được, và do đó những nguồn tin uy tín như How To Geek thậm chí còn khuyên người dùng không chặn quảng cáo để góp phần giúp Internet phát triển hơn.

Tuy vậy, đi kèm với quảng cáo thường là các loại cookie theo dõi người dùng. Nếu nhiều trang web cùng sử dụng cookie từ một mạng quảng cáo (ad network), mạng quảng cáo này sẽ biết được lịch sử duyệt web của bạn. Trong khi một số mạng quảng cáo như Google AdSense có thể được coi là uy tín và an toàn, các mạng quảng cáo khác có thể thực hiện nhiều hành vi xấu. Ví dụ, các mạng quảng cáo chuyên tài trợ cho các trang vi phạm bản quyền, luật pháp sẽ chẳng chịu rằng buộc nào về việc bảo vệ người dùng cả.

Nghiêm trọng hơn, ngay cả các mạng quảng cáo uy tín cũng có thể bị tấn công khiến rò rỉ thông tin người dùng.

Thông qua lịch sử duyệt web, các chuyên gia bảo mật/hacker hoàn toàn có thể đoán biết được bạn là ai. Chắc chắn lịch sử duyệt web cũng sẽ chứa nhiều thông tin mà bạn không muốn tiết lộ cho các đối tượng trên mạng. Bởi vậy, nếu thực sự muốn bảo vệ các thông tin nhạy cảm của mình, bạn sẽ cần phải hết sức cẩn trọng trong việc kiểm soát cookie.

Bạn tự "dâng" dữ liệu nhạy cảm của mình cho nhà phát triển extension?

Có rất nhiều các extension thu thập thông tin người dùng. Hãy thử lấy ví dụ về HoverZoom, một extension có tới hơn 1 triệu người dùng. Trong văn bản Thỏa thuận Người dùng Cuối (EULA) của HoverZoom có đoạn:

"Hover Zoom sử dụng các số liệu sử dụng ẩn danh. Bạn có thể loại bỏ lựa chọn này trong trang lựa chọn mà không bị mất tính năng nào cả. Khi bật tính năng này, người dùng cho phép thu thập, chuyển giao và sử dụng dữ liệu sử dụng ẩn danh, bao gồm nhưng không giới hạn trong việc chuyển dữ liệu sang các bên thứ ba".

Đây thực chất chỉ là một cách nói mĩ miều với nội dung thực sự là: "chúng tôi đang theo dõi tất cả các trang web mà bạn đã duyệt và sẽ bán dữ liệu này tới các bên thứ ba". Hover Zoom đang theo dõi bạn và sử dụng dữ liệu này để kiếm lời. Không ai dám chắc nhà phát triển có nhiều tai tiếng của Hover Zoom có bán dữ liệu người dùng tới các đối tượng xấu hay không.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Hover Zoom ẩn thông báo thu thập dữ liệu người dùng trong văn bản EULA và giấu khá kín tùy chọn mặc định trong giao diện

Dĩ nhiên, bạn có thể tắt tùy chọn thu thập dữ liệu cá nhân của Hover Zoom, theo đúng tuyên bố trên. Nhưng, sự thật là tùy chọn này được bật theo mặc định và không phải ai cũng để ý tới tùy chọn này trên giao diện của tiện ích. Kể cả nếu có nhận ra, họ cũng chưa chắc đã thực sự hiểu "sử dụng các số liệu ẩn danh" là gì. Người dùng cũng thường bỏ qua, không đọc kĩ càng các thỏa thuận trong văn bản Thỏa thuận Người dùng Cuối (EULA) đi kèm phần mềm, thay vào đó chỉ "nhắm mắt nhấn Next" và đồng ý cho các nhà phát triển thu thập dữ liệu cá nhân.

Bởi vậy mà có hơn 1 triệu người dùng đang bị Hover Zoom theo dõi. Nhà phát triển ra Hover Zoom đã từng bị phát hiện bán cả dữ liệu nhạy cảm mà bạn gửi qua form HTML (ví dụ như tên, tuổi, nơi sống, số điện thoại mà bạn dùng để đăng ký dịch vụ) và cả dữ liệu mà bạn gõ trên máy. Nhưng, trong trường hợp này, bạn khó có thể mang Hover Zoom ra tòa. Đơn giản là vì chính bạn đã chấp thuận các điều kiện sử dụng, và chính bạn đã để bật tùy chọn thu thập dữ liệu trên Hover Zoom.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Trên Internet, không có ai thực sự "ẩn danh" cả

Và liệu dữ liệu của bạn có thực sự "ẩn danh" hay không? Ngay cả khi các nhà phát triển tiện ích không cung cấp tên tài khoản, tên thật, email hay các dữ liệu nhận diện khác, các tổ chức cá nhân vẫn có thể xác nhận được danh tính của một người nếu biết rõ người này thường truy cập vào địa chỉ web nào. Ví dụ, nếu một người thường xuyên truy cập vào địa chỉ, rất có thể đây chính là người dùng Nguyễn Văn A. Khi đã xác định được tên thật và các thông tin cá nhân khác qua Facebook, đồng thời kết hợp với các thông tin cá nhân khác thu được qua tiện ích mở rộng, hacker có rất nhiều cách để tấn công bạn cả trên mạng lẫn ngoài đời thực.

Về phần mình, Google (và cả Mozilla, Microsoft hay Opera) không có cơ sở pháp lý để đưa ra một chính sách ngăn chặn hành vi nói trên của các nhà phát triển tiện ích mở rộng. Một lần nữa, lý do là các nhà phát triển tiện ích đã thông báo về hành vi này trong văn bản EULA, và do đó lỗi không phải của Google hay Mozilla.

Tiện ích mở rộng có thể thay đổi chủ sở hữu và có thể cập nhật mã độc "ngầm"

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Bạn cung cấp rất nhiều quyền truy cập/sử dụng dữ liệu cho các tiện ích. Điều gì sẽ xảy ra khi chúng sang tên đổi chủ và rơi vào tay hacker/tội phạm số?

Khi bạn cài một tiện ích mở rộng, bạn chắc chắn sẽ cung cấp rất nhiều quyền truy cập/sử dụng cho tiện ích mở rộng này. Nguy hiểm hơn nữa, những nhà phát triển có ý đồ xấu hoàn toàn có thể cập nhật mã độc về các tiện ích mở rộng này.

Thực tế, bạn vẫn nên luôn đặt chế độ tự động cập nhật cho tiện ích mở rộng và các loại phần mềm khác, bởi các bản cập nhật sẽ vá các lỗ hổng bảo mật trên phần mềm. Với các bản cập nhật, các nhà phát triển extension chân chính sẽ nâng cao chất lượng sản phẩm của họ. Song, điều mà cả Google, Mozilla lẫn người dùng đều không thể kiểm soát được là khi các tiện ích mở rộng thay đổi chủ sở hữu. Do đã được cài đặt sẵn trên máy bạn, các tiện ích này đã có đủ các quyền truy cập cần thiết. Nếu chủ sở hữu mới có ý đồ xấu, chúng sẽ không gặp trở ngại nào cả.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Mã nguồn chứa trong Add to Feedly (sau khi đã bị bán lại cho đối tượng xấu) sẽ đưa bạn tới một trang có tên "searchgist" mỗi lần bạn muốn truy cập vào Google hay Bing hoặc Yahoo.

Add to Feedly là ví dụ điển hình cho thấy nguy cơ này là hoàn toàn có thật. Nhà phát triển ban đầu của Add to Feedly, Amit Agarwal đã tạo ra được một sản phẩm thực sự chất lượng. Bạn cũng không thể trách Amit Agarwal vì đã đem bán sản phẩm của mình cho chủ sở hữu khác: xét cho cùng, đây là thành quả lao động của anh ta và không ai có thể kiểm soát được tất cả các đối tượng muốn mua phần mềm trên mạng.

Mã nguồn theo dõi được ẩn giấu bên trong tiện ích

Nguy hiểm hơn cả là các loại tiện ích mở rộng có khả năng "giấu kín" quá trình theo dõi của mình. Thực tế, rất nhiều tiện ích mở rộng được cài sẵn mã nguồn để theo dõi người dùng, nhưng các đoạn mã nguồn này chưa được kích hoạt ngay lập tức sau khi cài. Sau một khoảng thời gian, ví dụ như 7 ngày sau khi cài đặt tiện ích, chúng sẽ liên hệ với máy chủ và tự thay đổi tùy chỉnh của mình. Sau đó, các tiện ích mở rộng độc hại này sẽ tự gửi dữ liệu thống kê về quá trình sử dụng của bạn (ví dụ: thời gian bạn dành ra cho mỗi trang web, thời gian mở tab…) về máy chủ. Người dùng thông thường sẽ không thể nhận ra điều này.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Mã nguồn cho phép Autocopy Orginal theo dõi người dùng sẽ không khởi động ngay khi bạn mới cài extension này. Thay vào đó, đoạn mã nguồn này sẽ được cập nhật qua mạng và kích hoạt sau vài ngày.

Ví dụ điển hình về extension độc hại dạng này là Autocopy Original. Các biên tập viên của How To Geek đã thử "lừa" Autocopy Original kích hoạt mã độc ẩn giấu bên trong, và ngay lập tức các dữ liệu người dùng đã được Autocopy Original gửi về các máy chủ của các dịch vụ quảng cáo mờ ám. Có khoảng 73 tiện ích mở rộng đến từ "" hoặc " partners" (đối tác của có thể theo dõi người dùng theo cách này.

Dĩ nhiên, điều khoản sử dụng của các tiện ích này không hề đề cập tới quá trình kích hoạt code theo dõi "ngầm" này. Chúng được ẩn giấu dưới một ô checkbox nào đó trên tiện ích mở rộng, hoặc trong quá trình cài đặt. Và chỉ sau vài ngày, các nhà phát triển đã thu được một loạt các thông tin nhạy cảm của bạn.

Người dùng có thể làm gì để tránh hiểm họa từ tiện ích mở rộng?

Thực tế, việc phát hiện xem một tiện ích mở rộng có chứa mã độc quảng cáo và có theo dõi người dùng hay không đòi hỏi người dùng phải có một hiểu biết nhất định về lập trình. Điều này có nghĩa rằng nếu chỉ là một người dùng thông thường, bạn cần thực hiện nguyên tắc "Phòng còn hơn chữa". Điều đầu tiên mà bạn cần làm là giảm thiểu số lượng extension đang sử dụng trên trình duyệt. Hãy chỉ giữ lại những tiện ích thực sự cần dùng, tránh cài đặt các extension mà bạn có thể dùng tới nhưng thực tế lại không cần thiết.

Hiện tại, How To Geek cũng đã đưa ra danh sách các extension theo dõi người dùng không công khai/hợp pháp. Hãy kiểm tra xem danh sách này có tiện ích mà bạn đang sử dụng hay không. Nếu có, hãy nhanh chóng gỡ bỏ các extension độc hại.

Nếu có đủ hiểu biết kỹ thuật, bạn có thể sử dụng các công cụ như Fiddler để theo dõi các liên lạc được thực hiện qua hệ thống mạng của bạn. Nếu phát hiện các địa chỉ lạ, đặc biệt là các địa chỉ thuộc về các công ty quảng cáo chuyên theo dõi người dùng, bạn sẽ biết rằng đây là một tiện ích mở rộng tiềm ẩn rất nhiều nguy cơ.

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Trên giao diện quản lý tiện ích mở rộng của Chrome, hãy chọn Chế độ nhà phát triển (Developer mode). Sau đó, tìm tới trang web tương ứng trong mục Inspect views. Khi xem mã nguồn HTML của trang web này, nếu phát hiện ra 2 file tr_advanced.js và tr_simple.js, bạn sẽ biết chắc chắn rằng tiện ích mở rộng đang thực hiện theo dõi. Các nhà phát triển cũng có thể đổi tên 2 file này hoặc ẩn mã độc trong một thư viện Javascript khác, và do đó bạn cần tới Fiddler để đánh giá và theo dõi các trang web.

Bạn cũng có thể mở thư mục chứa dữ liệu hoạt động của Chrome và thay đổi đường dẫn tới các máy chủ theo dõi thành các địa chỉ nội bộ (ví dụ như "localhost" hoặc ""). Trên Firefox, hãy bỏ chọn "Tự động cập nhật add-ons" (Update Add-ons Automatically).

Hiểm họa khôn lường từ tiện ích mở rộng (extension) trên trình duyệt

Điều này không có nghĩa rằng bạn nên từ bỏ hoàn toàn việc cập nhật tiện ích mở rộng. Sau khi đã bỏ tùy chọn tự động cập nhật extension, bạn sẽ phải thường xuyên kiểm tra xem các bản cập nhật mới có an toàn hay không và cập nhật thủ công lên các phiên bản mới.

Lê Hoàng

ASP.NET Razor Pages

1 - Getting Started with WebMatrix and ASP.NET Web Pages
2 - Introduction to ASP.NET Web Programming Using the Razor Syntax
3 - Creating a Consistent Look
4 - Working with Forms
5 - Working with Data
6 - Displaying Data in a Grid
7 - Displaying Data in a Chart
8 - Working with Files
9 - Working with Images
10 - Working with Video
11 - Adding Email to Your Web Site
12 - Adding Search to Your Web Site
13 - Adding Social Networking to Your Website
14 - Analyzing Traffic
15 - Caching to Improve the Performance of Your Website
16 - Adding Security and Membership
17 - Introduction to Debugging
18 - Customizing Site-Wide Behavior
ASP.NET API Quick Reference
ASP.NET Web Pages Visual Basic
Program ASP.NET Web Pages in Visual Studio