Hướng dẫn này chỉ là một tổng quan nhỏ về các phần thông tin quan trọng từ ứng dụng mẫu có thể tải xuống. Hãy xem chính ứng dụng mẫu, có rất nhiều nhận xét trong mã để giúp bạn
Tệp ứng dụng mẫu
save-signatures-sample/
. - mục lục. php
. - lib/
. . - lưu chữ ký. php
. - lượt xem/
. . - Chấp nhận. php
. . - tái sinh. php
. - chữ ký-pad/
. . - …•chỉ số. php chứa mẫu HTML cơ bản và một vài câu lệnh if để ẩn/hiện các phần HTML và Javascript khác nhau.
•lib/save-signature. php là thịt và khoai tây, bộ điều khiển. nó lấy nội dung từ biểu mẫu, xác thực nó và lưu nó vào cơ sở dữ liệu.
•lượt xem/chấp nhận. php là mẫu HTML Bảng chữ ký cơ bản để chấp nhận chữ ký, với việc bổ sung một số mã xác thực phía máy chủ.
•lượt xem/tái tạo. php là mẫu HTML Pad Chữ ký cơ bản để tạo lại chữ ký, với việc bổ sung một chút PHP để xuất người ký và ngày tháng.
•signature-pad chỉ là một bản sao của kho lưu trữ Git Signature Pad hoàn chỉnh. Ứng dụng mẫu chỉ sử dụng các tệp từ thư mục con bản dựng.
Lấy chữ ký
Bảng chữ ký gửi chữ ký, cùng với phần còn lại của biểu mẫu gửi, bên trong một trường nhập ẩn.
Từ lượt xem/chấp nhận. php
â‹®
â‹®
Từ trường ẩn này, chúng tôi có thể chụp và lưu trữ chữ ký .
Cách dễ nhất để lấy chữ ký bằng PHP là với siêu toàn cầu $_POST
$sig = $_POST['output'];
Việc sử dụng mảng $_POST không an toàn [và tạo ra một số vấn đề khác khi có lỗi xác thực và chúng tôi thử . Trong PHP, cách tốt nhất để lấy thông tin từ một biểu mẫu là sử dụng các hàm lọc của PHP. Chúng cung cấp một cách an toàn hơn để lấy đầu vào của người dùng và loại bỏ thông tin không mong muốn. Chúng tôi cũng sẽ không nhận được bất kỳ thông báo lỗi PHP nào nếu chúng tôi cố gắng truy cập vào đầu vào của người dùng và biểu mẫu chưa được gửi.
Từ lib/save-chữ ký. php
$output = filter_input[INPUT_POST, 'output', FILTER_UNSAFE_RAW];
Chúng tôi có thể sử dụng FILTER_UNSAFE_RAW cho chính chữ ký vì chúng tôi thực sự không muốn loại bỏ bất kỳ thông tin nào khỏi . Nếu bạn muốn cụ thể hơn nữa, hãy thử sử dụng FILTER_VALIDATE_REGEX.
Xác thực chữ ký
Có lẽ cách tốt nhất để xác thực chữ ký là chạy nó thông qua json_decode[] và xem liệu nó có thể được giải mã hay không.
Từ lib/save-chữ ký. php
nếu [. json_decode[$output]] {
$errors['output'] = true;
}
Đừng quên .
Thiết lập cơ sở dữ liệu
Cơ sở dữ liệu để lưu trữ chữ ký chỉ cần chứa một vài mẩu thông tin. tên người ký và chữ ký. Vì lý do pháp lý, tốt nhất là lưu trữ thêm thông tin về chữ ký. ít nhất một hàm băm của chữ ký, địa chỉ IP của người ký và thời gian chữ ký được viết.
Để biết thêm thông tin về tính hợp pháp của chữ ký điện tử, hãy xem các quy định của quốc gia bạn. Wikipedia có một danh sách tốt về các quy định về chữ ký điện tử
Thiết lập bảng mẫu
Tên Loại dữ liệu Độ dài Dùng để làm gì?
id int 11 Khóa chính, tự động tăng
signator varchar 255 Holds the user input for the `name` field
signature text Holds the signature in its JSON form
sig_hash varchar 128 Holds a SHA1 hash of the JSON signature
ip varchar 46 Holds the signator’s IP address
created int 11 The UNIX timestamp of when the signature was saved
Lưu vào Cơ sở dữ liệu
Sau khi mọi thứ được xác thực, chúng tôi có thể lưu chữ ký vào cơ sở dữ liệu. Cách dễ nhất là lưu trữ biểu diễn JSON của chữ ký trong cơ sở dữ liệu. Nếu bạn muốn tạo một tệp đồ họa, hãy xem cách chuyển đổi chữ ký thành hình ảnh.
Tốt nhất là sử dụng PDO của PHP để kết nối với cơ sở dữ liệu. Bằng cách sử dụng PDO. chuẩn bị[], chúng tôi có thể giúp bảo vệ chống lại các cuộc tấn công SQL injection
trong bài viết này, chúng tôi sẽ tạo một biểu mẫu và sẽ triển khai Bảng chữ ký với giao diện người dùng jquery nơi người dùng có thể tạo chữ ký điện tử và chúng tôi sẽ tải lên hình ảnh chữ ký ở định dạng PNG. và chúng tôi cũng sẽ gửi dữ liệu vào cơ sở dữ liệu để tiếp tục gửi email có chữ ký đó cho người dùng
Đối với điều này, chúng tôi sẽ làm theo bước được đề cập dưới đây
- Bước 01. tạo cơ sở dữ liệu và bảng
- bước 02. Tạo biểu mẫu HTML có tên và chữ ký
- bước 03. Khởi tạo bảng chữ ký bằng jquery
- bước 04. tạo tải lên. php để xử lý dữ liệu
Chèn bên dưới thẻ đầu
Vì vậy, hãy bắt đầu
Bước 01. tạo cơ sở dữ liệu và bảng
Chỉ cần tạo một cơ sở dữ liệu và trong tab SQL qua mã được đề cập bên dưới và chạy
Bước 02. Tạo biểu mẫu HTML có tên và chữ ký
Bây giờ chúng ta sẽ tạo một biểu mẫu HTML bằng bootstrap và sẽ triển khai bảng Chữ ký
Chỉ cần tạo một chỉ mục. php và dán liên kết tiêu đề đã đề cập ở trên. Liên kết tiêu đề đã đề cập ở trên tôi sẽ cung cấp trong thư mục tải xuống bên dưới trang này
bên trong cơ thể, thẻ dán mã dưới đây
bước 03. Khởi tạo bảng chữ ký bằng jquery
chỉ cần sao chép mã bên dưới và dán mã đó lên trên thẻ đóng nội dung trong chỉ mục. tập tin php
bước 04. tạo tải lên. php để xử lý dữ liệu
Cuối cùng, chúng ta phải tạo một tệp tải lên. php và dán mã bên dưới để xử lý biểu mẫu
Hãy chắc chắn rằng chúng tôi phải tạo một thư mục tải lên bên trong thư mục gốc của thư mục nơi chúng tôi đang tải lên hình ảnh