Bộ lọc PHP dữ liệu _POST

Hàm filter_input_array[] là một hàm có sẵn trong PHP được sử dụng để lấy các biến bên ngoài [e. g. từ đầu vào biểu mẫu] và lọc chúng nếu nó được chỉ định. Hàm này tương tự như hàm filter_input[] nhưng điểm khác biệt duy nhất là filter_input[] lọc một giá trị nhưng trong filter_input_array[] lọc cả mảng theo các tùy chọn được cung cấp. Nó rất hữu ích để truy xuất/lọc nhiều giá trị thay vì gọi filter_input[] nhiều lần. Đây là tính năng mới trong PHP chỉ hoạt động trong PHP 5. 2 hoặc phiên bản mới nhất của PHP. cú pháp

mixed filter_input_array[ $type_of_data, $definition, $add_empty_parameter ]

Thông số. Hàm này chấp nhận ba tham số như đã đề cập ở trên và được mô tả bên dưới

  • loại_dữ_liệu. Nó là tham số bắt buộc. Nó giữ kiểu đầu vào của dữ liệu để kiểm tra. Các tùy chọn có sẵn là
    • INPUT_GET
    • INPUT_POST
    • INPUT_COOKIE
    • INPUT_SERVER
    • INPUT_ENV
  • Định nghĩa. Nó là tham số tùy chọn. Nó chỉ định một mảng các đối số hoặc tham số của bộ lọc. Khóa mảng hợp lệ làm tên biến và giá trị hợp lệ làm tên bộ lọc hoặc ID hoặc một mảng chỉ định bộ lọc, cờ và tùy chọn. Tham số này cũng có thể là một tên/ID bộ lọc đơn giống như filter_input[] sau đó tất cả các giá trị trong mảng đầu vào được lọc bởi bộ lọc đã chỉ định
  • add_empty_parameter. Nó là tham số tùy chọn. Nó là một tham số Boolean. Nó thêm các khóa bị thiếu dưới dạng NULL vào giá trị trả về khi nó được đặt thành True. Giá trị mặc định của nó là True

Giá trị trả về. Nó trả về một mảng chứa các giá trị của các biến khi thành công và khi thất bại, nó trả về Sai. Nếu mảng đầu vào được chỉ định theo loại không được điền, hàm sẽ trả về NULL nếu cờ FILTER_NULL_ON_FAILURE không được cung cấp, nếu không, nó trả về Sai. Đối với các lỗi khác, Sai được trả về. Các chương trình bên dưới minh họa hàm filter_input_array[] trong PHP. chương trình 1.  

Trong bài viết trước, tôi đã nói về lý do sử dụng hàm lọc PHP hữu ích hơn là không

Nói tóm lại, làm như vậy giúp cung cấp mức độ xác thực được tích hợp sẵn trong ngôn ngữ để chúng tôi không phải viết lại điều gì đó. Đương nhiên, có những cảnh báo

Ví dụ: nếu bạn phải xác thực một giá trị không phải là ký tự Latinh, thì bạn sẽ phải thực hiện một mình và triển khai xác thực có thể bằng một biểu thức chính quy

Nhưng nếu bạn đang sử dụng địa chỉ email, URL, số, địa chỉ IP và nhiều thứ khác, thì bạn có thể sử dụng thứ gì đó đã tồn tại

Dù sao, tất cả những điều trên vẫn là về lọc các biến. Còn về đầu vào thì sao? . Có thể sử dụng một chiến lược tương tự với chức năng khác và bộ lọc khác

Nhưng nếu bạn hiểu những điều cơ bản được trình bày trong bài trước, thì bài này sẽ không khác lắm

Hàm lọc PHP, Phần 2. đầu vào

Lọc đầu vào được thực hiện bởi hàm filter_input. Định nghĩa cho chức năng cụ thể này là

Nhận một biến bên ngoài cụ thể theo tên và tùy chọn lọc nó

Sổ tay PHP

Và, như đã đề cập lần trước, điều này nghe có vẻ hơi lạ cho đến khi bạn hiểu bộ lọc là gì. May mắn thay, chúng tôi đã đề cập đến điều này trong bài viết trước. Và mặc dù bài đăng này sẽ tập trung cụ thể vào

if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
0 [và rất ngắn gọn là
if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
1]

Có những bộ lọc khác mặc dù. Và chúng bao gồm

  • if [false === filter_input[INPUT_POST, 'firstname']] {
      return;
    }
    
    $firstname = filter_input[INPUT_POST, 'firstname'];
    update_post_meta[get_the_ID[], 'acme-firstname', $firstname];
    
    // Other code you may use...
    
    2
  • if [false === filter_input[INPUT_POST, 'firstname']] {
      return;
    }
    
    $firstname = filter_input[INPUT_POST, 'firstname'];
    update_post_meta[get_the_ID[], 'acme-firstname', $firstname];
    
    // Other code you may use...
    
    3
  • if [false === filter_input[INPUT_POST, 'firstname']] {
      return;
    }
    
    $firstname = filter_input[INPUT_POST, 'firstname'];
    update_post_meta[get_the_ID[], 'acme-firstname', $firstname];
    
    // Other code you may use...
    
    4

Dù sao đi nữa, vì hai thao tác phổ biến nhất mà tôi thường thấy trong WordPress bao gồm

if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
0 và
if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
1, nên việc đưa hai thao tác này vào đây có vẻ quan trọng

Sử dụng các chức năng này rất dễ dàng. Giả sử rằng bạn có một giá trị đến từ thứ gì đó mà người dùng đã cung cấp trong biểu mẫu và họ đang gửi giá trị đó đến máy chủ bằng cách sử dụng yêu cầu

if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
0 với khóa chẳng hạn như
if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
3

Mã để xác minh nó có thể trông giống như thế này

  • if [false === filter_input[INPUT_POST, 'firstname']] {
      return;
    }
    
    $firstname = filter_input[INPUT_POST, 'firstname'];
    update_post_meta[get_the_ID[], 'acme-firstname', $firstname];
    
    // Other code you may use...
    
    4

Điều này đủ dễ hiểu vì nó chỉ cần lấy khóa, lọc và sau đó trả về một giá trị. Và vì nó trả về một giá trị, nên chúng ta có thể thiết lập một mệnh đề bảo vệ trước khi tiếp tục với bất kỳ công việc nào nữa

if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

Nếu tất cả kiểm tra thì chúng tôi có thể tiếp tục làm bất cứ điều gì chúng tôi cần làm với thông tin người dùng. Có lẽ chúng ta cần liên kết nó với bài đăng hiện tại vì bất kỳ lý do gì

if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...

Hơn nữa, bạn có thể bảo mật thông tin nhiều hơn thông qua việc sử dụng các bộ lọc khác nhau hiện có. Chúng được truyền dưới dạng tham số thứ ba cho hàm filter_input

Còn về
if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
1 thì sao?

Điều thú vị về chức năng này là, nói chung, các quy tắc tương tự vẫn đúng như với

if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
0 ngoại trừ thay vì sử dụng
if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
8, bạn sẽ sử dụng
if [false === filter_input[INPUT_POST, 'firstname']] {
  return;
}

$firstname = filter_input[INPUT_POST, 'firstname'];
update_post_meta[get_the_ID[], 'acme-firstname', $firstname];

// Other code you may use...
9

Và sau đó bạn có thể làm việc thông qua mã của mình, tuy nhiên, phù hợp nhất với nhu cầu của dự án của bạn

Bảo mật, Nonces, v.v.

Hãy nhớ rằng, đây không phải là thứ được sử dụng thay cho bảo mật. Điều này hoàn toàn nhằm mục đích bảo mật dữ liệu trước khi làm bất cứ điều gì với nó

Không thay thế việc xác minh các giá trị nonce chỉ vì bạn đang xác minh dữ liệu theo cách khác

Biến và đầu vào

Hãy nhớ rằng, mặc dù các hàm này là các biến rất giống nhau và các đầu vào khác nhau. Nói cách khác, đừng cố sử dụng $_POST0 khi bạn đang làm việc với đầu vào đến từ người dùng hoặc trình duyệt. Sử dụng nó bất cứ khi nào bạn đang làm việc với các biến. Và, tương tự, sử dụng ht e

Làm cách nào để lọc dữ liệu bài đăng trong PHP?

$options. Nó là một tham số tùy chọn và được sử dụng để chỉ định một hoặc nhiều cờ/tùy chọn sẽ sử dụng. Nó kiểm tra các tùy chọn và cờ có thể có trong mỗi bộ lọc. Nếu các tùy chọn bộ lọc được chấp nhận thì cờ có thể được cung cấp trong trường "cờ" của mảng. .
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV

Làm cách nào để lấy dữ liệu bài đăng trong PHP?

Trong PHP, chúng ta có thể sử dụng phương thức $_POST như một biến siêu toàn cục được vận hành để quản lý dữ liệu biểu mẫu . Sau khi chúng tôi nhấp vào nút gửi và trang sẽ gửi dữ liệu qua phương thức đăng.

filter_input trả về cái gì?

Giá trị trả về ¶ . Nếu cờ FILTER_NULL_ON_FAILURE được sử dụng, nó sẽ trả về false nếu biến không được đặt và null nếu bộ lọc bị lỗi. Value of the requested variable on success, false if the filter fails, or null if the var_name variable is not set. If the flag FILTER_NULL_ON_FAILURE is used, it returns false if the variable is not set and null if the filter fails.

Filter_input_array[] là gì?

Định nghĩa và cách sử dụng . g. từ đầu vào biểu mẫu] và tùy ý lọc chúng gets external variables [e.g. from form input] and optionally filters them . Hàm này rất hữu ích để truy xuất/lọc nhiều giá trị thay vì gọi filter_input[] nhiều lần.

Chủ Đề