10/10/2018, 10:27

Hỏi về bảo mật trong xử lý form. Please...

Xin chào mọi người.

Vd: mình đang làm 1 form gồm 2 file.


1 file form.html là các mẫu form dùng cho người dùng điền thông tin mình vào và gửi đi.
<form action='xuly.php' method='post'>


1 file xyly.php dùng để xử lý các from từ file trên.

Cho mình hỏi làm sao để có thể hạn chế việc thông qua file xuly.php ? tức là thông tin chỉ được xử lý tại file xuly.php nếu chạy trên cùng 1 domain. Vì bây giờ em thử tạo 1 file form với code: <form action='http://domain.com/xuly.php' method='post'> thì cho dù em có save file đầu tiên ( tức file form cho người sử dụng điền vào ) ở bất cứ đâu kể cả trong máy tính của em khi gửi form đều được xử lý tại file xuly.php .

Em muốn hỏi làm sao để có thể hạn chể và chỉ xử lý thông tin tại file xuly.php khi cả 2 file form.html và xuly.php nằm trên cùng một hosting. Sẽ bị từ chối nếu file form.html nằm ngoài hosting.

Mọi người có hiểu ý của em không ạ ?

Mong được giúp đỡ.

Cảm ơn rất nhiều
1024KB viết 12:27 ngày 10/10/2018
Kiểm tra url có trùng domain của mình ko. Trùng thì xử lý, ko thì thôi.
ngoc_viet08 viết 12:29 ngày 10/10/2018
form action='xuly.php' method='post'> rứa thôi
BnoL viết 12:31 ngày 10/10/2018
Trong file xuly.php, trước khi xử lý request, bạn kiểm tra xem variable $_SERVER['HTTP_REFERER'] có đúng bằng domain hosting của bạn hay không .
thuyduongcd viết 12:42 ngày 10/10/2018
Đi ngược với xu hướng chung
s.code viết 12:34 ngày 10/10/2018
Hiểu ý chủ thớt. Có nhiều cách như check referal hoặc trong file sử lý bạn check 1 session nào đó do nó quy định ra và chỉ nó biết. Nếu form kia có thì chấp nhận ko thì come back. Nó nhẹ hơn captcha chút.
thuyduongcd viết 12:29 ngày 10/10/2018
Dùng cURL có thể set referer tùy ý
kangmin_pro viết 12:34 ngày 10/10/2018
Cảm ơn sự giúp đỡ nhiệt tình của anh em.

Nhưng em cũng chưa bít phải xử lý nó như thế nào, có ae nào cho em 1 code cụ thể 1 tí ko ?

Em đang bí quá ((
THanks,
namduong8889 viết 12:38 ngày 10/10/2018
Nếu về sâu xa mà nói thì mình trả lời thẳng là: Không thể.

Vì sao? Vì request gửi từ đâu? Nó gửi từ máy client chứ không phải gửi từ domain http://www.domain.com của bạn hay domain http://www.chim.com của thằng hacker nào đó.

Chỉ có biến $_SERVER[HTTP_REFERRER] là chứa thông tin về request đó bắt nguồn từ url nào nhưng HTTP_REFERRER có thể fake được, và một số hosting & web server không soi được referrer;

Bạn định làm gì? Nếu về bảo mật thì không ai bảo mật kiểu đấy cả, bạn nêu ra vấn đề cần bảo mật đi, mình sẽ chỉ cho bạn cách khác.
kangmin_pro viết 12:37 ngày 10/10/2018
Cảm ơn câu trả lời của bạn.
Vậy có cách nào chèn captcha vào xuly.php ko ? bởi vì hiện tại captcha của mình chỉ có tác dụng trên file form.html tức nếu gõ sai captcha thì java hiện hộp thông báo yêu cầu nhập đúng captcha. Nhưng nếu chỉ tác dụng trong form.html thì vô dụng bên xuly.php vì người ta khi kết nối vào xuly.html là độc lập ko thông qua form.

Vậy cho mình hỏi có cách nào captcha cần yêu cầu trong file xuly.php hay ko ? vd khi kết request từ 1 file khác đến file xuly.php nếu ko có captcha thì sẽ bị từ chối ?

Nếu có thể cho mình xin code đó,

Cảm ơn rất rất nhiều...
Bài liên quan
0