Anda di halaman 1dari 2

Keamanan Pada Open Journal System 3

1. Masalah upload file wizard. Open Joural System secara default memperbolehkan
semua ekstensi file bisa terupload. Untuk membatasi ektensi file yang di upload :

− Buka file PKPFileUploadWIzardHandler.inc.php


(lib/pkp/controllers/wizard/fileUpload/PKPFileUploadWIzardHandler.inc.ph
p).

− Pada function uploadFile, baris 288.

− Tambahkan potongan kode berikut :

$filename = $_FILES['uploadedFile']['name'];

$ex = pathinfo($filename, PATHINFO_EXTENSION);

if($ex != 'pdf' && $ex != 'doc' && $ex != 'docx'){

return new JSONMessage(false, "File Extension Error ");

− Kode diatas hanya memperbolehkan file dengan ekstensi pdf, doc, dan docx.

2. Masalah folder permission, untuk semua folder, yang ada pada folder public,
ubah permission menjadi 0571, supaya orang tidak bisa membaca isi dari folder.

3. Supaya folder yang dibuat ketika upload file submission juga terset permission
0571, maka :

− Buka file FileManager.inc.php (lib/pkp/classes/file/FileManager.inc.php).

− Pada baris 24, “define('DIRECTORY_MODE_MASK', 0777);”.

− Ganti menjadi “define('DIRECTORY_MODE_MASK', 0751);”.


4. Untuk merubah format file dianggap berbahaya, contoh format .php, .phtml, .html
dsb menjadi format .txt. Contoh x.php menjadi x.txt. Untuk lebih mengamankan
jika ternyata file php atau file berbahaya lainnya masih bisa terupload.

− Buka file FileManager.inc.php (lib/pkp/classes/file/FileManager.inc.php).

− Pada function parseFileExtension. Baris kode berikut :

// FIXME Check for evil

if (!isset($fileExtension) || stristr($fileExtension, 'php')


|| strlen($fileExtension) > 6 || !preg_match('/^\w+$/',
$fileExtension)) {

$fileExtension = 'txt';

− Jika ingin menambah kondisi yang dibutuhkan, cukup merubah kode pada
statement if.

Anda mungkin juga menyukai