Khai thác biến PHP_SELF

Hi mọi người , ai học về Php chắc cũng biết biến PHP_SELF :smiley:
Mình cũng đang học về Php và cũng đang có thắc mắc về việc các tin tặc có thể khai thác biến PHP_SELF và sử dụng nó.
Vị dụ mình có cái form như thế này :


mình sẽ cho nó thông báo trên trình duyệt ntn :

-> ok lúc này sẽ hiện ra hộp thoại “xss” 2 lần
giờ mình sẽ dùng hàm htmlspecialchars() để làm các ký tự < > thành ký tự đặc biệt

-> lúc này nó vẫn hiện lên hộp thoại “xss” nhưng chỉ 1 lần . Không biết như thế này là an toàn chưa mọi ngươi :stuck_out_tongue:
Cảm ơn mọi người !!

Vẫn thực thi được script là vẫn chết.

Có thấy PHP_SELF đóng vai trò gì trong cái alert bằng JavaScript của bạn đâu?

Mà tự nhiên vô duyên hết mức, cái chỗ action="" cho gọn hoặc gọn luôn là vứt luôn action="" nếu bạn muốn submit tới chính script đang chạy, ai điên gì chơi cái đoạn echo $_SERVER gì đó vô cho dài dòng trông buồn cười vậy?

Để hạn chế XSS thì bạn nên kiểm tra dữ liệu đầu vào và giáo dục chính bạn cũng như người dùng tránh để bọn hacker lừa để chèn JS vào. Ngoài ra, cũng hạn chế thấp nhất việc tương tác giứa trình duyệt và ứng dụng của bạn thông qua cookies, session mà chỉ có HTML thuần thì việc khai thác thông tin của hacker hầu như vô nghĩa.

Vậy nếu muốn đoạn code php thực thi trong chính trang đó thì mình có thể bỏ cái action="" đi phải không anh :smiley:

bạn tự test là được mà, đơn giản thế cũng thắc mắc là sao ?

nếu form bạn in ra không kèm action thì khi submit nó sẽ submit về chính url bạn đang thấy trên trình duyệt, controller nào xử lý url đó thì bạn chỉ cần check isPost là sẽ lấy đúng được data mà form gửi về.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?