Các ví dụ này sẽ chỉ ra cách xử lý các biểu mẫu PHP có lưu ý đến tính bảo mật. Xác nhận đúng cách dữ liệu biểu mẫu là điều quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và những kẻ gửi thư rác
Biểu mẫu HTML mà chúng ta sẽ làm việc trong các chương trình này, bao gồm các trường nhập liệu khác nhau. trường văn bản bắt buộc và tùy chọn, nút radio và nút gửi
Các quy tắc xác thực cho các biểu mẫu trên như sau
File Quy tắc xác thực Tên bắt buộc, yêu cầu bắt buộc, bao gồm các ký tự và khoảng trắngE-mailrequired, yêu cầu bắt buột, địa chỉ email đúng định dạng [chứa @ và. ]Websitetùy chọn, yêu cầu không bắt buột, chứa URL có giá trịNhận xét tùy chọn, yêu cầu không bắt buột, chứa nhiều dòng thông tin nhập vàoGenderrequired, yêu cầu bắt buột, chọn một tùy chọn
Trước tiên, chúng tôi sẽ xem xét mã HTML thuần túy cho biểu mẫu
Trường văn
Tên trường, email và trang web là các yếu tố nhập văn bản và trường nhận xét là một vùng văn bản. Code HTML as after
Name: E-mail: Website: Comment:
Các nút Radio
Các trường được giới hạn là các nút radio và mã HTML như sau
Gender: Female Male Other
Dạng phần tử
Mã HTML của biểu mẫu biểu mẫu như sau
Khi biểu mẫu được gửi đi, dữ liệu biểu mẫu được gửi bằng method = "post"
Biến $_SERVER["PHP_SELF"] là gì?
$_SERVER["PHP_SELF"] là một siêu biến toàn cục trả về tên tệp của lệnh hiện đang thực thi
Vì vậy,
Gender: Female Male Other7 sẽ gửi dữ liệu biểu mẫu đã gửi đến trang chính đó, thay vì chuyển sang một trang khác. Bằng cách này, người dùng sẽ nhận được thông báo lỗi trên cùng một trang với biểu mẫu
Hàm htmlspecialchars[] là gì?
Hàm
Gender: Female Male Other8 chuyển đổi các ký tự đặc biệt thành HTML thông thường có thể thực hiện được. Điều này có nghĩa là nó sẽ thay thế các ký tự HTML đặc biệt như @, #, $. . Điều này ngăn chặn những kẻ tấn công khai thác mã bằng cách chèn mã HTML hoặc Javascript [Các cuộc tấn công Tập lệnh chéo trang web] trong các biểu mẫu
Lưu ý quan trọng về biểu mẫu PHP
Biến
Gender: Female Male Other7 có thể bị hacker sử dụng
Nếu
Gender: Female Male Other0 được sử dụng trong trang của bạn thì người dùng có thể nhập dấu gạch chéo [/] rồi thực thi một số lệnh Cross Site Scripting [XSS]
Cross-site scripting [XSS] là một loại lỗi truy cập mật mã máy tính thường thấy trong các ứng dụng Web. XSS cho phép những kẻ tấn công đưa tập lệnh phía máy khách vào các trang Web được người dùng khác xem
Giả sử chúng ta có biểu mẫu sau trong một trang có tên "test_form. php"
">
Bây giờ, nếu người dùng nhập URL bình thường vào thanh địa chỉ như "http. //www. thí dụ. com/test_form. php", thì đoạn mã trên sẽ được giao dịch thành công
Tuy nhiên, hãy xem nhận xét rằng người dùng nhập URL sau đó vào thanh địa chỉ
http. //www. thí dụ. com/test_form. php/%22%3E%3Cscript%3Ealert['hacked']%3C/script%3E
Trong trường hợp này, mã trên sẽ được giao dịch thành
This code add a command tag and a command warning. Và khi tải trang, mã JavaScript sẽ được thực thi [người dùng sẽ thấy một hộp cảnh báo]. Đây chỉ là một ví dụ đơn giản và vô hại về cách khai thác biến PHP_SELF
Xin lưu ý rằng bất kỳ mã JavaScript nào cũng có thể được thêm vào bên trong thẻ
Gender: Female Male Other1
Gender: Female Male Other2
Gender: Female Male Other3 của PHP]
Gender: Female Male Other4] khỏi dữ liệu đầu vào của người dùng [với dấu gạch chéo ngược [] trong PHP]
Bước tiếp theo là tạo ra một chức năng sẽ thực hiện tất cả các công việc kiểm tra cho chúng ta [điều kiện này thuận tiện hơn nhiều so với việc viết đi viết lại cùng một đoạn mã]
Chúng ta sẽ đặt tên cho hàm là
Gender: Female Male Other5
Bây giờ, chúng ta có thể kiểm tra từng biến
Gender: Female Male Other6 bằng hàm
Gender: Female Male Other5 và tập lệnh như sau
Ví dụ
Ví dụ
Gender: Female Male Other3
View results
Lưu ý rằng khi bắt đầu tập lệnh, chúng ta sẽ kiểm tra xem biểu mẫu đã được gửi bằng cách sử dụng biến
Gender: Female Male Other8 hay chưa. Nếu REQUEST_METHOD là POST, thì biểu mẫu đã được gửi và nó sẽ được xác thực. Nếu nó chưa được gửi, thì bỏ xác thực và hiển thị một biểu mẫu trống
Tuy nhiên, trong ví dụ trên, tất cả các trường bắt đầu là tùy chọn. Good active command ngay cả khi người dùng không nhập bất kỳ dữ liệu nào
Bộ sưu tập có thể hiểu là một bộ lựa chọn có các thuộc tính và phương thức như một đối tượng, nó sẽ chọn lấy một tập hợp kết quả. bộ sưu tập biểu mẫu sẽ trả về tập hợp các thẻ
Gender: Female Male Other54 có trong trang
Nội dung chính Hiển thị
- Thuộc tính
- Phương thức
- Cách sử dụng
- Truy cập đến biểu mẫu bằng javascript
- Truy cập các quyền kiểm soát trong biểu mẫu để lấy giá trị
- Kiểm tra dữ liệu trong biểu mẫu bằng javascript
- Event onsubmit of form
- Thực hiện kiểm tra dữ liệu trong biểu mẫu với javascript
- Control in form
- Thuộc tính name of form control
- Nút radio
- Thực hiện kiểm tra dữ liệu trong biểu mẫu với javascript
Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.
Các thẻ trong tập tin được trả về sẽ được sắp xếp theo đúng thứ tự chúng xuất hiện trên trang
Nếu bạn muốn lấy tập hợp tất cả các thẻ nằm trong thẻ
Gender: Female Male Other55, hãy sử dụng bộ sưu tập các phần tử của đối tượng Biểu mẫu đối tượng
cú pháp
cú pháp.
Gender: Female Male Other56
Bài viết này đã được đăng tại [free tuts. mạng lưới]
Thuộc tính
Tên thuộc tính Mô tả chiều dài trả về số thẻGender: Female Male Other54 thuộc tính trong bộ sưu tập
Phương thức
Phương thức mô tả[index]trả về phần tử ________ 154 chỉ mục trong tập hợp các phần tử trong bộ sưu tập[bắt đầu từ 0]. Trả về null nếu chỉ mục lớn hơn số phần tử trong bộ sưu tập. item[index]trả về phần tửGender: Female Male Other54 chỉ mục thứ trong tập hợp các phần tử trong bộ sưu tập[bắt đầu từ 0]. Trả về null nếu chỉ mục lớn hơn số phần tử trong bộ sưu tập. namedItem[id]trả về phần tử
Gender: Female Male Other54 có id được cung cấp. Nếu id không tồn tại, phương thức sẽ trả về null
Cách sử dụng
Sử dụng
Gender: Female Male Other56 kết hợp với thuộc tính 32 của nó để tìm tất cả các thẻ
Gender: Female Male Other54 trên trang5
Tham khảo. w3schools. com
Kiểm tra dữ liệu trong biểu mẫu với javascript là công việc quan trọng thường phải thực hiện của nhà phát triển web, để kiểm tra tính đúng đắn của dữ liệu
Trong trang web, biểu mẫu là các vùng để người dùng nhập thông tin. Ví dụ. biểu mẫu đăng nhập, biểu mẫu đăng ký, biểu mẫu liên hệ, biểu mẫu tìm kiếm… mỗi biểu mẫu, thường có 1 nút gửi để gửi dữ liệu lên máy chủ
Khi người dùng cài đặt vào nút gửi, trình duyệt sẽ cấu trúc dữ liệu ở dạng gửi lên cho máy chủ xử lý
Truy cập đến biểu mẫu bằng javascript
Có thể truy cập Form bằng các cách sau
Gender: Female Male Other5
Truy cập các quyền kiểm soát trong biểu mẫu để lấy giá trị
3____28Kiểm tra dữ liệu trong biểu mẫu bằng javascript
Là kiểm tra xem thông tin có được điền đúng yêu cầu hay chưa. Ví dụ tuổi hay số lượng sản phẩm phải là kiểu nguyên, ngày sinh được là chữ, mã sinh viên phải dài 7 ký tự …. Kiểm tra và thông báo lỗi, người dùng được thông báo và nhập lại cho đúng, khi thông tin đó được xử lý và lưu trữ mới có giá trị
Event onsubmit of form
Mỗi biểu mẫu có một hoặc nhiều nút gửi. Khi người dùng nhấp vào nút gửi, sự kiện onSubmit của biểu mẫu sẽ xảy ra
Sử dụng javascript, bạn có thể bổ sung để sự kiện gửi có xảy ra hay không. Trong onSubmit return true [default] thì sự kiện gửi diễn ra bình thường, dữ liệu dạng tin tức sẽ được gửi lên Server. Nếu trong onSubmit bạn dùng return false thì sự kiện gửi của biểu mẫu bị bỏ qua, dữ liệu không được gửi lên máy chủ
Thực hiện kiểm tra dữ liệu trong biểu mẫu với javascript
Bạn cần viết một để kiểm tra dữ liệu trong biểu mẫu xem có hợp với quy tắc mong muốn hay không, nếu không hợp lệ thì trả về false, còn nếu hợp lệ thì trả về true. Hàm này bạn gọi trong sự kiện onSubmit của biểu mẫu thẻ. Ví dụ.
9Mã kiểm tra javascript
Gender: Female Male Other0
Tùy chỉnh tính chất phức tạp của các quy tắc dữ liệu , mà các quy tắc kiểm tra trong hàm kiemtra sẽ nhiều hoặc ít. Nhưng sẽ trả về true khi kiểm tra đúng và sai khi có dữ liệu sai quy tắc
Control in form
Trong mỗi biểu mẫu sẽ có nhiều quyền kiểm soát để người dùng nhập thông tin như trường văn bản, vùng văn bản, hộp chọn, hộp kiểm, nút radio, nút…
Thuộc tính name of form control
Các điều khiển trong biểu mẫu có 1 thuộc tính đặt biệt, thuộc tính tên. Bạn có thể sử dụng tên thuộc tính này để truy cập vào một nhóm quyền kiểm soát. Ví dụ
Gender: Female Male Other1
Như vậy các thẻ trong biểu mẫu có 2 thuộc tính định danh là id và name . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 thẻ còn tên thì có thể trùng nhau. . Thuộc tính id là duy nhất, mỗi id đại diện cho 1 tag còn name thì có thể trùng nhau.
Sử dụng phương thức getElementsByName[name] để lấy các phần tử có cùng thuộc tính name. Hàm này trả về một mảng các phần tử cùng tên
Gender: Female Male Other2
Chọn hộp
Select box là hộp chọn gồm nhiều mục, mỗi mục nằm trong tag . Mỗi mục có value riêng và text riêng. Khi chọn 1 mục, value của mục sẽ gán cho value của selectbox.
Chú thích. Mục nào thuộc tính được chọn sẽ được chọn sẵn khi trang web mới tải
Gender: Female Male Other3
Truy xuất đến hộp chọn
Bạn truy cập vào giá trị được chọn của hộp chọn bằng giá trị thuộc tính. Cũng có thể gán giá trị cho hộp chọn để thay đổi mục chọn
Gender: Female Male Other4
hộp kiểm
Hộp kiểm thường được sử dụng để người dùng chọn trạng thái có hoặc không có 1 trạng thái nào. Sử dụng thuộc tính đã chọn của hộp kiểm để lấy trạng thái và gán trạng thái cho hộp kiểm. Nếu thuộc tính được chọn là đúng có nghĩa là hộp kiểm đang được chọn, còn nếu thuộc tính được chọn là sai tức là hộp kiểm không được chọn
Gender: Female Male Other50
Ứng dụng liệt kê các loại kem được chọn
Gender: Female Male Other51
Nút radio
Nút radio là quyền kiểm soát để người dùng chọn 1 mục trong nhóm. Giống như hộp kiểm, đài cũng có thuộc tính được chọn [true / false] diễn tả nó được chọn hay không. Nút radio thường được sử dụng theo nhóm, trong mỗi nhóm chỉ có 1 cái được chọn