thắc mắc Có cần thiết phải handle hết các Error trong API không?

Ví dụ web có cái nút select chỉ có 3 mục là [1,2,3]

và url của api là /<int:id>

thì trong code của Backend có cần thiết phải viết cái:
Python:
if id not in [1,2,3]:
    raise Error

không vậy mọi người, kiểu như có cách nào để cho người dùng chỉ được truy cập API thông qua UI chứ không được dùng postman hay curl để tránh hacker các kiểu không vậy mọi người.:sweat:
 
Cái này là validate đầu vào. Câu trả lời là tuỳ, thích thì viết, không thích thì thôi. Nhưng theo tôi trong case này thì nên nhé :beat_brick:
 
Cái này là validate đầu vào. Câu trả lời là tuỳ, thích thì viết, không thích thì thôi. Nhưng theo tôi trong case này thì nên nhé :beat_brick:
nhưng mà ví dụ có cách nào để cái server frontend nó gọi api sang server backend, mà người ngoài ko gọi được api vào server backend thì sẽ ko cần validate cái ý mà nhỉ, vì UI nó chỉ cho gọi 1,2,3 thui mà :sad:
 
Validate hết nhé, và nhiều bước, như project đang làm thì BE đầu vào là .raml, đến filter, rồi đến business validate...
Muốn call đến db phải qua các bước: FE call Proxy API (sso token): Proxy API call PAPI (process api with saml token, chỉ có đi qua proxy mới call đúng API), PAPI call SAPI (system API with e2e token), SAPI call MQ. Ở mỗi API level nó lại verify, validate tùm lum tá lả nữa.
 
Bypass kiểu gì bác

Sent from Realme RMX3370 using vozFApp
r6qDrBGeMPCbBkxFO9U3VufwbEXKeTtvwZ5EwHicIRobG_LaR5gYuEkUCpkraESMi8pSkswL6lQ6cGCKP_x3xPqAKI71FFdImUBpqYe6Tvbt7FGrr35bOhqmOrhMxgXZ0RM22h598RUpZYclHoS2K9I16LPkkFMrpaM53JqyVDsfdeuRaRrdnkt86A

Sử dụng kỹ thuật này để catch and exploit request
 
r6qDrBGeMPCbBkxFO9U3VufwbEXKeTtvwZ5EwHicIRobG_LaR5gYuEkUCpkraESMi8pSkswL6lQ6cGCKP_x3xPqAKI71FFdImUBpqYe6Tvbt7FGrr35bOhqmOrhMxgXZ0RM22h598RUpZYclHoS2K9I16LPkkFMrpaM53JqyVDsfdeuRaRrdnkt86A

Sử dụng kỹ thuật này để catch and exploit request
thông thường, string phải bị encode hết mới đc đưa lên server, hoặc đưa xuống client chứ nhỉ, mấy kí tự đặc biệt bị mã hóa hết , mấy cái này framework hiện giờ đều làm hết rồi dễ gì bị mấy cái lỗ hổng này
 
trước h mình làm đều validate cả FE lẫn BE ... nói chung không tin đc bố con thằng nào hết :rolleyes::rolleyes::rolleyes: và nếu request lỗi thì báo bad request chứ ko nên trả cụ thể fields nào cả
 
trước h mình làm đều validate cả FE lẫn BE ... nói chung không tin đc bố con thằng nào hết :rolleyes::rolleyes::rolleyes: và nếu request lỗi thì báo bad request chứ ko nên trả cụ thể fields nào cả
sao ko trả cụ thể fen, tưởng trả cụ thể kiểu: invalid email thì người dùng còn biết mà nhập lại ý, hay tài khoản đã được tạo rồi ý
 
sao ko trả cụ thể fen, tưởng trả cụ thể kiểu: invalid email thì người dùng còn biết mà nhập lại ý, hay tài khoản đã được tạo rồi ý
mình chỉ nói về validation thôi ... giả sử form có 10 fields mà trả về cụ thể quá thì sẽ bị brute force dễ hơn ... còn cái ví dụ của thím về tài khoản tạo rồi thì nó thuộc business rule là chính ... anw những cái này là suy nghĩ của mình và những cái mình đã làm =))))) nó còn tuỳ thuộc vào system hay business của thím có muốn hay không ~~
 
nhưng mà ví dụ có cách nào để cái server frontend nó gọi api sang server backend, mà người ngoài ko gọi được api vào server backend thì sẽ ko cần validate cái ý mà nhỉ, vì UI nó chỉ cho gọi 1,2,3 thui mà :sad:
Người ta bắt request -> edits -> forward thì làm sao mà đỡ được fen.
Nên validate nhé. không thừa đâu.
 
Theo lý thuyết càng chi tiết lỗi trong các trường hợp càng tốt, nhưng mà dẫn đến hiệu năng kém vì thế là cái gì cần xử lý chi tiết thì chi tiết, không thì cứ ném biệt lệ rồi log vào đâu đó.
 
Ví dụ web có cái nút select chỉ có 3 mục là [1,2,3]

và url của api là /<int:id>

thì trong code của Backend có cần thiết phải viết cái:
Python:
if id not in [1,2,3]:
    raise Error

không vậy mọi người, kiểu như có cách nào để cho người dùng chỉ được truy cập API thông qua UI chứ không được dùng postman hay curl để tránh hacker các kiểu không vậy mọi người.:sweat:
api thì làm gì có ui mà bảo người dùng chỉ truy cập qua ui anh, nếu nó cố tình access cái id ko tồn tại thì quăng lại cho nó cái 404 thôi :doubt:
 
bỏ ngay cái suy nghĩ là FE ko chọn dc thì BE ko cần validate đi bạn. Khi làm REST API phải nhớ trong đầu là bạn chả có support cho 1 thg FE cụ thể nào cả thì code mới tốt dc
 

Thống kê chủ đề

Ngày tạo
Lập Trình Viên Số Khổ,
Người trả lời cuối
Pepe.The.Frog,
Trả lời
35
Lượt xem
3.280
Quay lại
Lên đầu trang