Panada Framework 1.0.0 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:

$myValue = $_POST['myValue'];

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

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

Dimana:

  • key_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(key_name, filter_type, flags);

Dimana:

  • key_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(key_name, filter_type, flags);

Dimana:

  • key_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

stripTagsAttributes

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

$this->request->stripTagsAttributes($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