Panada Framework 0.3.1 Documentation

Request

Untuk keamanan, Panada mempersiapkan class Request untuk menangani proses request $_POST, $_GET dan $_COOKIE.

Panada menggunakan fungsi filter_input() dari PHP untuk melakukan validatsi atau sanatasi.

Berikut adalah list untuk Filter_type yang digunakan untuk validasi/sanitasi:

  • Sanitasi Request:
    • FILTER_SANITIZE_EMAIL
    • FILTER_SANITIZE_ENCODED
    • FILTER_SANITIZE_MAGIC_QUOTES
    • FILTER_SANITIZE_NUMBER_FLOAT
    • FILTER_SANITIZE_NUMBER_INT
    • FILTER_SANITIZE_SPECIAL_CHARS
    • FILTER_SANITIZE_STRING
    • FILTER_SANITIZE_STRIPPED
    • FILTER_SANITIZE_URL
    • FILTER_UNSAFE_RAW
  • Validasi Request:
    • FILTER_VALIDATE_BOOLEAN
    • FILTER_VALIDATE_EMAIL
    • FILTER_VALIDATE_FLOAT
    • FILTER_VALIDATE_INT
    • FILTER_VALIDATE_IP
    • FILTER_VALIDATE_REGEXP
    • FILTER_VALIDATE_URL

Keterangan mengenai masing-masing konstantan di atas bisa dilihat di halaman http://www.php.net/manual/en/filter.filters.validate.php dan http://www.php.net/manual/en/filter.filters.sanitize.php.

POST

Pada umumnya jika kita ingin mendapatkan nilai dari variable $_POST kita menggunakan:

$my_value = $_POST['my_value'];

Jika tidak difilter, cara ini kurang baik karena dapat mebuka celah keamanan. Untuk mengatasi hal ini class Request mempersiapkan method:

$this->request->post('value_name', filter_type, flags);

Dimana:

  • value_name, adalah nama nilai variable POST yang akan didapat.
  • filter_type, adalah tipe filter yang diinginkan.
  • flags, flag dari tipe filter yang dipilih (opsional).

GET

Untuk mendapatkan nilai dari variable GET, gunakan method:

$this->request->get('value_name', filter_type, flags);

Dimana:

  • value_name, adalah nama nilai variable GET yang akan didapat.
  • filter_type, adalah tipe filter yang diinginkan.
  • flags, flag dari tipe filter yang dipilih (opsional).

COOKIE

Untuk mendapatkan nilai dari variable COOKIE, gunakan method:

$this->request->cookie('value_name', filter_type, flags);

Dimana:

  • value_name, adalah nama nilai variable COOKIE yang akan didapat.
  • filter_type, adalah tipe filter yang diinginkan.
  • flags, flag dari tipe filter yang dipilih (opsional).

Sample

strip_tags_attributes

Jika Anda mengizinkan input berupa tag HTML, tetapi hanya beberapa tag saja yang diperbolehkan, maka Anda bisa menggunakan method:

$this->request->strip_tags_attributes($string, $allowtags = null, $allowattributes = null);
  • $string, string input yang akan difilter.
  • $allowtags, tag apa saja yang diizinkan. Contoh: '<em><i><b><strong>'
  • $allowattributes, attribute apa saja yang diizinkan. Contoh: 'href, rel, title'

Contoh

Diskusi