Vui một chút :D
Nếu phải kiểm tra cú pháp câu truy vấn SQL trước khi summit lên server có 100 dòng hoặc 1000 dòng hoặc nhiều hơn thế bạn sẽ làm gì?
- Mã nguồn mở
- Kiểm tra cú pháp truy vấn SQL trước khi summit lên server.
- Kiểm tra mã độc trong SQL, SQL Injection. (Chú ý: có một số bài báo nói vẫn có thể kiểm tra được riêng đoạn này mình chưa test được mong các bạn góp ý thêm)
- ANTLR tạo ra cây phân tích cú pháp thông qua việc đệ quy và có báo cáo lỗi tốt gần như "ngay lập tức".
- Trình phân tích cú pháp được tạo bởi ANTLR sẽ phát hiện được lỗi ngay tại vị trí sai nên việc gỡ lỗi SQL trở nên dễ dàng hơn.
- Hỗ trợ các ngôn ngữ : Java, Python, C#, JavaScript, C++,...
- Cấu trúc Antlr khá phức tạp, chúng ta cần thực hành ví dụ để có thể hiểu rõ hơn thay vì chỉ học lý thuyết.
- Cấu trúc Antlr rất khó để gỡ lỗi.
- Mô tả kiểm tra câu truy vấn SQL cơ bản
- Phát hiện SQL Injection
Download
git clone https://github.com/DoManhQuang/mysql-parser-anltrv4.git
Sử dụng project maven trong intellij
Maven Lifecyle clean
Maven Plugins antlr4:antlr4
Maven Plugins jar:jar
Maven Lifecyle install
Run main & testcase
cd src/main/java/antlr4/mysql
run Main
cd src/main/java/antlr4/mysql
run UnitTestCaseMySql
Thư viện testcase
cd src/main/resources/samples
ls