Minggu, 30 Juli 2023

Request Apache

 Ada masalah request di apache dan mengakibatkan serangan di server. 

Langkah : 

1. Hentikan service apache nya.

2. Hapus folder dan file injeksi


Jumat, 28 Juli 2023

Mengatasi you don't have permission to access / on this server

Hari ini sabtu tanggal 29 juli 2023 salah satu server yang saya kelola aplikasinya tidak bisa diakses. Setiap kali diakses alamat url nya muncul you don't have permission to access / on this server. Saya berpikiran ada hacker yang mencoba menyerang server tersebut. 

Dari indikasi gagal akses tersebut saya mencoba melakukan upload ulang file index pada aplikasi yang gagal akses. Tapi setelah saya upload dengan yang baru pun tetap gagal akses. Langkah selanjunya saya mencoba reboot server, dengan asumsi akan memperbaiki service yang menjadi terduga terkena serangan. Setelah di reboot saya kembali akses url aplikasi, dan masih tetap gagal.

Setelah beberapa kali uji perbaikan gagal dilakukan, saya mencoba melihat permission dari beberapa file yang ada di aplikasi tersebut. Terutama file yang menjadi permulaan di load oleh aplikasi. Dan saya menemukan ada perubahan permission pada salah satu file utama, yaitu r-- r-- r--. Yang mana ini sangat mencurigakan. Sebelumnya saya tidak pernah melakukan setting permission seperti tersebut.

Kemudian saya lakukan perubahan permission pada file tersebut, dan alhamdulillah aplikasi kemudian bisa diakses kembali. 

Minggu, 16 Juli 2023

Membuat Cetakan Halaman Dengan PHP dan Javascript

 Ketika membuat sebuah aplikasi tentu tak lepas dari proses mencetak laporan. Karena kebutuhan untuk pelaporan mengharuskan cetak printer dari laporan yang dibuat.

untuk membuat cetak laporan yang nyaman buat pengguna, biasanya dengan membuka tab kosong di samping halaman aktif. untuk mengkombinasikan hal tersebut, bisa menggunakan PHP dan javascript. contoh program sebagai berikut :

    1. Membuat fungsi javascript :

<script>
function getExportData(){
    
    var id = document.getElementById('k').value; //parameter yang dikirim
    var k = document.getElementById('l').value
    var t = document.getElementById('t').value

    var url = 'urlFile_cetak?m='+btoa(id)+'&k='+btoa(k)+'&t='+btoa(t);
//menambahkan btoa untuk mengenskripsi value parameter
  
    var printWindow = window.open(url'_blank');
    printWindow.onload = function() {
    var isIE = /(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent);
    if (isIE) {

        printWindow.print();
        setTimeout(function () { printWindow.close(); }, 100);

    } else {

        setTimeout(function () {
            printWindow.print();
            var ival = setInterval(function() {
                printWindow.close();
                clearInterval(ival);
            }, 200);
        }, 500);
    }
}
}

</script>


2 Membuat File hasil cetakan (value url diisikan dengan nama file yang dibuat, dan pastikan path nya betul)

3. Silahkan membuat tombol cetak.
<section class="panel panel-success">
            <div class="alert alert-warning">  
                <span class="alert-icon"><i class="fa fa-search"></i></span>
                <div class="notification-info">  Kelurahan :&nbsp; 
                 <select name="k" id="k"  class="js-example-basic-single" 
                    style="text-align:left; width:75%">
                 <option value="0">Semua</option>
                  </select> &nbsp;&nbsp;

                                 
                </div>
                <br>
                <div class="notification-info">  Kegiatan :&nbsp;   &nbsp;
              <select name="l" id="l" class="js-example-basic-single" 
               style="text-align:left; width:75%">
               <option value="0">Semua</option> 
                </select> &nbsp;&nbsp;  
                </div>
                <br>
                <div class="notification-info">  Tahun : &nbsp;   &nbsp;&nbsp;   
                    &nbsp;
           <select name="t" id="t" class="js-example-basic-single" 
            style="text-align:left; width:25%">
             </select> &nbsp;&nbsp
        <button onClick="javascript:LoadSearchData()" class="btn btn-success"> 
        <i class="fa fa-search"></i> SELEKSI | </button> 
        <input type="hidden" name="proses" value="seleksi">  
        <a href="javascript:getExportData();" ><button class="btn btn-primary"> 
        <i class="fa fa-print"></i>  Cetak</button></a>
                </div>

            </div>
        </section>