Lompat ke konten Lompat ke sidebar Lompat ke footer

Perbedaan PHP dan ASP


Nah kembali lagi dengan aplikasi pemrograman terbaik saat ini yaitu PHP dan ASP/ASP.Net .

Admin akan menjelaskan Perbedaan PHP dan ASP, dimana penjelasan ini Admin pelajarin dikampus dan pengalaman Admin ini dibagikan buat sobat, simak dengan seksama :

Admin sedikit penasaran dengan yang namanya php dan asp.net,
dan Admin mengumpulkan bahan referensi untuk memecahkan perbedaan ini, dan ketemu deh yang akan Admin bagikan dibawah.

So lets cek this out....
Bagi para webmaster yang baru belajar saya hanya ingin menjelaskan sedikit yang saya dapatkan untuk pertanyaan yang selalu ditanya apa sih perbedaan PHP dengan ASP..
Bagi orang awam tentang pemprograman website PHP dan ASP menurut mereka tidak jauh bedanya, malah ada yang mengatakan ASP itu adalah Bahasa Pemrprogram dari PHP…berikut saya jelaskan perbedaan dari ASP dan PHP…???

ASP dan PHP merupakan bahasa pemrograman yang biasa digunakan untuk membuat website. Tidak seperti halaman web HTML biasa, ASP dan PHP lebih dinamis dan mampu membuat para user bisa berinteraksi dan bertukar informasi dengan database website.

ASP merupakan kependekan dari Active Server Pages, suatu jenis program yang bekerja dalam Microsoft (Windows) melalui IIS (Internet Information Server). ASP memerlukan server Microsoft untuk menjalankan website. Sedangkan, 
Program PHP atau Hypertext Preprocessor berjalan di server Linux atau Unix. PHP yang lebih baru bisa berjalan di server NT.

Program PHP juga bisa berjalan di Windows, Solaris, Unix dan Linux sedangkan ASP hanya bisa berjalan di server dengan platform Windows. Baru-baru ini saja, ASP bisa berjalan pada platform Linux yang hanya ada bila sudah terinstall ASP-Apache di servernya.

Jika Anda seorang programmer mahir dengan bahasa C++, Anda mungkin akan lebih nyaman menggunakan PHP daripada ASP. PHP menggunakan C/C++ sebagai bahasa pemrograman dasar dan kebanyakan syntax-nya serupa antara yang satu dengan yang lain. Karena sebagian besar programmer masih menggunakan bahasa C++, PHP menjadi lebih populer dibanding dengan ASP.

ASP lebih banyak mirip dengan syntax dan interface-nya pemrograman Visual Basic. Hal itu dikarenakan pada dasarnya Visual Basic adalah berkorelasi dengan produk dan program-program buatan Microsoft. Jadi jika Anda seorang programmer, pemilihan antara ASP dan PHP sebenarnya didasarkan pada bahasa pemrograman mana yang paling Anda kuasai.

Jika dibandingkan dari segi biaya dan kemahalannya, program ASP membutuhkan Windows dengan IIS terinstall di servernya. Anda harus membeli kedua komponen tersebut agar ASP bisa berjalan. Sebaliknya, PHP hanya akan membutuhkan sebuah server Linux yang bisa Anda dapatkan secara cuma-cuma.

PHP sangatlah fleksibel ketika dikoneksikan dengan database. PHP bisa terkoneksi dengan beberapa database dimana yang sebagian besar digunakan adalah MySQL. Harap dicatat bahwa MySQL tidak akan membebani Anda sesen rupiah pun. Tapi bila Anda ingin memakai ASP, Anda perlu untuk membeli MS-SQL, produknya Microsoft.

Kecepatan me-load adalah faktor besar dalam memelihara website. Jika Anda sangat selektif soal kecepatan, Anda mungkin lebih membutuhkan PHP. Pada dasarnya kode PHP berjalan lebih cepat daripada ASP karena berjalan di space-nya sendiri sedangkan ASP menggunakan sebuah tambahan server dan menggunakan arsitektur berbasis COM.

Dalam bekerja dengan PHP, kebanyakan tools terasosiasi dengan program yang kebanyakan berupa open source software, jadi Anda tidak perlu membayar untuk mendapatkan tool tersebut. Tidak seperti ASP yang mungkin mengharuskan kita untuk membeli tool tambahan untuk bekerja dengan program ini.
Kesimpulannya: Baik PHP dan ASP mempunyai keuntungan dan kerugian. Pada dasarnya semua bergantung pada bagian pengembangan website mana yang akan Anda pilih. Apakah Anda mencemaskan biaya dari pembuatan website Anda? Apakah anda ingin menggunakan bahasa pemrograman yang familiar dengan Anda? Apakah Anda menginginkan website yang lebih stabil dan cepat? Pemilihan antara ASP dan PHP pada dasarnya tergantung pada preferensi Anda sendiri. Sebaiknya Anda berunding dengan programer atau webmaster lainnya dan cari sebanyak mungkin informasi mengenai kode pemrograman mana yang paling pas dengan website Anda.

Mungkin ada yang bingung sebenarnya untuk apa sih otentikasi server itu? Bukankah kalau kita buka yahoo.com, pasti yang menjawab adalah servernya yahoo, bukan servernya google. Kan tidak mungkin bisa tertukar begitu. Benarkah tidak mungkin tertukar?

Ketika kita mengakses situs, yang kita tulis di address bar browser biasanya adalah domain name, misalkan yahoo.com. Selanjutnya browser akan meminta DNS untuk menerjemahkan yahoo.com menjadi IP address. Baru kemudian browser bisa berkomunikasi dengan server.

Nah, proses pengubahan dari domain name ke IP address ini yang menjadi celah yang memungkinkan seseorang tersesat ke server yang salah. Dengan teknik ARP poisoning, DNS cache poisoning, atau proses routing yang sengaja disesatkan, seseorang bisa saja bukan mengakses server yang benar.
Untuk itulah kita perlu Authentication.

Authentication: Who are you speaking with.
Mari kita bahas bagaimana https menjamin authentication. Sebelum berkomunikasi dengan server, browser mensyaratkan server untuk meng-otentikasi dirinya, menunjukkan bukti identitasnya. Bukti identitas ini berbentu sertifikat yang ditanda-tangani (digital signature) oleh penjamin yang disebut
Certificate Authority, mirip dengan ilustrasi Dedy sebagai penjamin Bob di atas. Dalam sertifikat tersebut tertera antara lain: nama perusahaan, alamat web, dan kunci publik.

Ketika browse menghubungi server, untuk menunjukkan identitas dan memberikan kunci publiknya,  server akan mengirimkan sertifikatnya. Kemudian browser akan memverifikasi apakah sertifikat itu ditanda-tangani oleh penjamin (CA) yang trusted (browser memiliki daftar trusted CA). Jika tanda tangan digital CA pada sertifikat itu valid, maka dijamin sertifikat itu benar dibuat oleh CA. Selain itu browse juga akan memeriksa tanggal expired sertifikatnya dan membandingkan alamat web yang ada di sertifikat dengan server yang sedang dihubungi. Jika semuanya valid, browser akan mengambil kunci publik server yang tertera pada sertifikat.

Oke, dari sertifikat yang kamu beri, saya dapat kunci publik ini. Kalau kamu punya pasangan kuncinya (private key), berarti kamu benar-benar server yang disebut di sertifikat ini.
Dengan kunci publik server di tangan, browser akan mencoba melakukan komunikasi dengan mengirimkan pesan ter-enkripsi. Bila server bisa menjawab pesan ini, maka server itu pasti punya kunci private, dengan kata lain serve itu pasti benar-benar pemilik kunci publik yang tertera di sertifikat.

Dengan cara ini browser akan yakin sedang terhubung dengan server yang benar.
Confidentiality: Is Someone Listening to Your Conversation?

HTTPS Layer Stack
Sebenarnya https bukanlah satu protokol, tapi kumpulan protokol (dalam hal ini saja banyak yang salah paham) yang diberi nama HTTPS. Kumpulan protokol yang membentuk https adalah http yang ditumpangkan di atas SSL (Secure Socket Layer) atau TLS (Transport Layer Security). Jadi kalau dalam layer posisinya dari bawah ke atas adalah TCP -> SSL/TLS -> HTTP
SSL dan TLS adalah protokol yang secure dalam artian seluruh data yang dikirim dan diterima dalam keadaan ter-enkrip. Sedangkan http adalah protokol yang tidak secure karena datanya telanjang. Perkawinan antara http dan (SSL atau TLS) menghasilkan keturunan yang lebih unggul dari kedua orang tuanya, yang disebut https.

Mari kita lihat interaksi yang terjadi antar protokol tersebut. Bayangkan anda sedang membuka halaman https, dan browser anda sudah terhubung dengan web server dalam mode secure (biasanya muncul tanda gembok di status bar). Ketika anda meng-klik sebuah link, yang terjadi adalah browser mengirimkan request GET  dalam protokol HTTP (tidak ter-enkrip). Request GET ini diserahkan pada layer SSL/TLS untuk di-enkrip. Hasil enkripsi request GET ini kemudian diserahkan pada layer TCP untuk dikirim ke tujuan (server web).

Ketika request GET yang ter-enkrip ini sampai di tempat tujuan (server web). Pertama paket akan di-handle oleh layer TCP. Kemudian paket itu diserahkan pada layer SSL/TLS untuk di-dekrip. Hasilnya adalah paket dalam format HTTP tidak ter-enkrip. Baru kemudian paket HTTP ini diserahkan pada yang berhak, yaitu server web (misal:Apache). Setelah Apache selesai menjawab, dia akan mengirimkan balasan request GET tersebut dalam bentuk paket HTTP. Paket ini akan di-enkrip dulu oleh layer SSL/TLS sebelum diserahkan pada layer TCP dan dikirim ke client (browser yang mengirimkan request GET semula).

SSL menjamin kerahasiaan komunikasi end-to-end, artinya mulai dari ujung server hingga ujung client. Tidak ada satu pun server atau komputer yang menjadi perantara antara client hingga server bisa membaca isinya.

Kombinasi Symmetric dan Asymmetric Cryptography
Dalam https komunikasi yang terjadi semua ter-enkripsi. Seperti yang sudah saya jelaskan di awal, masing-masing jenis enkripsi memiliki keunggulan dan kelemahan. Keunggulan kriptografi simetris adalah kecepatannya yang tinggi. Sedangkan keunggulan kriptografi asimetris adalah kemudahan dalam pertukaran kunci.

Oleh karena itu https memadukan kedua jenis enkripsi ini. Pada tahap awal komunikasi, client dan server berkomunikasi dengan menggunakan kriptografi asimetris. Enkripsi ini hanya ditujukan untuk menyepakati dan saling bertukar kunci rahasia yang akan dipakai dengan kriptografi simetris. Jadi pertukaran kunci rahasia dilakukan dalam keadaan ter-enkrip dengan kriptografi asimetris.
Setelah kedua pihak memegang kunci rahasia yang sama, komunikasi selanjutnya dilakukan dengan kriptografi simetris karena lebih murah dan cepat.

Apa yang Tidak Dijamin HTTPS ?
SSL hanya menjamin authentication dan confidentiality saja. Padahal masih banyak attack yang mengancam aplikasi web, antara lain SQL Injection, XSS, CSRF, Denial of Service, Brute-Force-Attack.

Ya benar, semua serangan terhadap aplikasi web selain sniffing dan mitm bisa dilakukan tanpa hambatan.

Selain itu kerahasiaan data hanya berlaku di perjalanan antara client hingga server. Sedangkan di dalam komputer client atau server itu sendiri, data memungkinkan untuk disadap dengan penyadapan di level sistem operasi.

Hebatnya lagi, karena komunikasi antara client dan server ter-enkrip, maka IDS (Intrusion Detection System) tidak berguna. IDS bekerja dengan cara meng-inspeksi paket yang masuk (persis seperti sniffer). Bila paket mengandung pattern yang mencurigakan, maka IDS akan membunyikan alarm. Bila komunikasi antara client dan server ter-enkrip, maka IDS tidak bisa melihat isi paket, apakah mengandung pattern yang berbahaya atau tidak.

Demikianlah artikel yang Admin bagikan,

Semoga Bermanfaat ^_^
Pernando Harianja
Pernando Harianja Pendiri dan Pengelola di InfoLoh.com, yang hobby dalam pembuatan Program Komputer, dan ngeBlog. Untuk kenal lebih dekat Follow IG saya: @pernando_harianja

Posting Komentar untuk "Perbedaan PHP dan ASP"