ASP.NET MVC 5.0 Hosting Tutorial – JaringanHosting.com :: 4 Tahap Sederhana dalam Membangun Aplikasi ASP.NET MVC 5.0

Bagi Anda sekalian yang masih pemula dalam dunia hosting, artikel kali ini diharapkan dapat membantu Anda dalam membangun aplikasi ASP.NET MVC 5.0. Seperti yang telah diketahui, Model-View-Controller (MVC) merupakan pola perangkat lunak untuk mencapai isolasi antara komponen aplikasi yang berbeda. MVC terdiri dari pola yang memebntuk Model-View dan Controller yang dapat dijelaskan sebagai berikut:

  • Model: representasi dari struktur data dalam sebuah sumber data misalnya Database.
  • View: user interface atau model yang disajikan bagi pengguna akhir.
  • Controller: menerjemahkan masukan dari user ke dalam tindakan yang membentuk sebuah model serta mempersiapkan tampilan yang sesuai dengan tanggapan tersebut.

Terdapat pemisahan yang jelas antara logika operasi dan user interface merupakan salah satu syarat yang perlu dicapai oleh aplikasi perangkat lunak (terutama aplikasi berbasis web). Oleh karena itu, Anda dapat mencapai persyaratan ini dengan menggunakan desain MVC (Model View Controller) yang membuat aplikasi Anda lebih fleksibel untuk dirubah.

Banner-JH

ASP.NET MVC sendiri merupakan kerangka kerja berdasarkan pola MVC (Model View Controller) yang didesain untuk membangun aplikasi web. Saat ini, Microsoft telah merilis versi baru dari kerangka kerja MVC  yang dinamakan MVC 5.0. MVC 5.0 diperkaya dengan fitur-fitur baru  yang mampu melengkapi fitur-fitur yang telah ada sebelumnya. Untuk implementasi MVC 5.0, saya akan menggunakan Visual Studio Express 2013 for Web dan Anda akan ditunjukkan beberapa tahap untuk membangun aplikasi ASP.NET MVC 5.0 yang sederhana.

1. Membuat MVC 5.0 project pada Visual Studio 2013

  • Buka aplikasi Visual Studio Express 2013 for Web dan buat “New Project” dengan mengklik “File -> New Project.”
  • Pilih template “ASP.NET Web Application” seperti yang ditunjukkan pada gambar berikut. Namakan project Anda sebagai “MyFirstMVC5App”, lalu pilih lokasi file dan tekan tombol “OK”.

NewProject1

  • Pada kotak dialog berikutnya, pilih “MVC” sebagai template kemudian tekan tombol “OK”.

NewProject-MVC

 

  • Sebuah proyek ASP.NET MVC 5.o yang baru telah dibuat sebagai berikut. Anda dapat dengan mudah menemukan “Controller”, “Model” dan “Tampilan” folder dalam explorer.

New Project Welcome Page

2. Mempersiapkan sebuah Model

  • Dalam rangka mempersiapkan model, klik kanan pada “Model” folder dan pilih “Add”, kemudian “Class”.
  • Namakan class sebagai “Employee.cs”.

PrepareModel

 

  •  Seperti yang telah dibahas sebelumnya bahwa “Model” adalah representasi dari struktur data dalam sebuah sumber data, sehingga Anda bisa berasumsi bahwa “Employee” class merupakan tabel Karyawan di database dengan kolom sebagai “EmpID”, “EmpFirstName”, “EmpLastName” dan sebagainya.

3. Tambahkan sebuah Controller

  • Untuk menambahkan controller pada project, klik kanan pada folder “Controller”, pilih “Add”, kemudian klik “Controller”.
  • Pada dialog “Add Scaffold”, pilih “MVC 5 Controller – Empty” and tekan tombol “Add” sebagi berikut:

AddScaffold

AddController

  • Namakan controller sebagai “EmployeeController” dalam dialog berikutnya dan tekan “Add”. Sebuah controller baru akan ditambahkan ke  folder “Controller”. Kode controller yang dihasilkan adalah sebagai berikut:
Ada beberapa hal penting yang perlu Anda pahami, yaitu:

  • EmployeeController mewarisi dari kelas dasar Controller yang memiliki metode bernama Index (). Metode Indeks () ini akan menjadi metode standar t ketika mengakses controller sebagai (http: // localhost: xxxx /Employee /).
  • Dalam rangka untuk menghasilkan respon HTML, metode Index () menggunakan tampilan template yang diwakilkan dalam bentuk kode sebagai “return View ();”
  • Setelah kita membuat controller, sebuah folder baru akan dibuat dalam “Views” yang disebut sebagai “Employee”.

4. Tambahkan View

  • Yang terakhir, untuk menambahkan tampilan, klik kanan pada folder “Employee” seperti di bawah ini, pilih “Add”, kemudian “MVC 5 View Page (Razor)”. Tentukan nama untuk tampilan misalnya “Indeks” sebagai berikut:

AddView

  • Sebuah file baru dengan nama “Index.cshtml” akan ditambahkan sebagai “Views> Employee” folder. Saya mencoba untuk menambahkan teks sample untuk halaman ini seperti yang ditunjukkan pada gambar di bawah.

Viewcshtml

Sekarang, kita sudah selesai menciptakan aplikasi ASP.NET MVC 5.0 sederhana. Untuk menjalankan aplikasi, klik CTRL + F5. Hasilnya akan tampil sebagai berikut:

Output

Sekarang coba ubah URL dalam browser (http://localhost:11517/Employee/) dan tekan enter, kemudian akan didapatkan output yang selalu sama. Sudah jelas disini bahwa request telah diset oleh controller, dalam kasus ini yaitu EmployeeController dan kontroler tersebut membuat View (Index.cshtml yang telah dibuat dalam folder Views-> Employee) yang dapat terlihat oleh Anda di browser.

Sekian tahap-tahap dalam membangun aplikasi ASP.NET MVC 5.0 menggunakan Visual Studio 2013 for Web yang dapat saya bagikan untuk Anda. Semoga Anda berhasil! Untuk urusan ASP.NET MVC 5.0 Hosting, JaringanHosting.com menyediakan paket ASP.NET MVC 5.0 yang terbaik, terpercaya dan sesuai dengan kebutuhan Anda. Tim JaringanHosting.com yang handal dan berpengalaman akan selalu melayani dengan hasil yang sangat memuaskan.

 

ASP.NET Hosting Tutorial – JaringanHosting.com :: Cara Menggunakan Fitur “Bundling and Minification” pada ASP.NET 4.5

Pada artikel kali ini, saya akan membagikan kepada Anda sekalian mengenai cara menggunakan Fitur “Bundling and Minification” yang terdapat pada ASP.NET 4.5. Seperti yang telah diketahui, kinerja aplikasi web Anda memiliki dampak yang besar pada user web Anda. Jika aplikasi web Anda lambat, jelas user akan berpaling untuk menggunakannya. Ada banyak faktor yang berkontribusi terhadap kinerja sebuah situs web. Beberapa hal penting tersebut  mencakup jumlah permintaan yang dikirim dari browser ke server dan ukuran respon setiap permintaan. Fitur optimasi baru yang ditambahkan pada ASP.NET 4.5 menyediakan cara yang rapi untuk menggabungkan serta mengkompres JavaScript dan CSS file untuk mengatasi permasalahan yang sebelumnya telah dibahas. Artikel ini menunjukkan bagaimana fitur bundling and minification dari ASP.NET dapat dimanfaatkan dalam aplikasi web Anda.

Standar Bundling and Minification

ASP.NET 4.5 menyediakan dukungan inbuilt untuk menggabungkan dan memperkecil file. Fungsi inti bundling dan minification ditemukan di System.Web.Optimization namespace. Jika Anda membuat proyek yang ASP.NET baru, Anda akan menemukan baris kode berikut dalam file Global.aspx:

Seperti yang Anda lihat, event handler Application_Start berisi panggilan ke RegisterTemplateBundles (), metode yang melakukan standar bundling dan minification untuk Anda. Agar standar bundling dan minification bekerja, Anda perlu menentukan URL dari JavaScript dan CSS file yang sedikit berbeda.

Perhatikan tag <script> tag di atas dengan hati-hati. Alih-alih menentukan tag <script> per file hanya ada satu tag <script> dan atribut src adalah dalam bentuk <script_folder_path> / js. Konvensi penamaan ini memberitahu ASP.NET bahwa semua * Js file dari folder Scripts harus dibundel atau digabungkan bersama-sama dan diperkecil. Jika Anda mengamati permintaan di Chrome Developer Tools, Anda akan menemukan hanya satu entri untuk file JavaScript seperti ini:

Minification_image002

Coba perhatikan ukuran download konten dan bandingkan dengan ukuran gabungan dari file individual.

Untuk file CSS, Anda dapat menggunakan <css_folder_path> / css di <link> tag.

Meskipun sintaks yang ditunjukkan di atas bekerja seperti yang diharapkan tetapi ada kelemahan kecil jika diperhatikan. Katakan jika Anda merujuk JavaScript dan CSS file dalam pandangan Anda menggunakan sintaks di atas dan aplikasi web Anda mulai melayani permintaan. Beberapa waktu kemudian Anda memperbarui beberapa ini JavaScript dan CSS file. Tentu, Anda mengharapkan script baru ini akan berjalan. Namun, file sebelumnya mungkin telah di-cache oleh browser atau server proxy. Karena URL ke file yang sama (src = “../../ Script / js” dan href = “../../ Content / css”), maka tidak ada cara untuk browser untuk mendeteksi apakah file telah diubah atau tidak. Untuk memperbaiki masalah disarankan untuk menggunakan sintaks berikut:

Metode ResolveBundleUrl () menerima jalur virtual folder yang berisi skrip atau CSS file. Metode ini tidak hanya menghasilkan URL untuk src dan atribut href tetapi juga menambahkan tanda string unik dalam string. Token ini berubah ketika file berubah, sehingga memastikan URL unik untuk file yang berubah. Gambar berikut menunjukkan bagaimana token string yang ditambahkan dalam string:

Minification_image003

Kostumisasi Bundling and Minification

Pada suatu saat mungkin mekanisme bundling standar tidak memenuhi kebutuhan Anda. Sebagai contoh, Anda mungkin memiliki sepuluh file JavaScript dalam sebuah folder dan Anda yang ingin membundel file tersebut dalam dua bundel terpisah yang terdiri dari lima file masing-masing pada sebuah bundel. Atau Anda mungkin ingin untuk membundel file dalam urutan tertentu berdasarkan dependensi mereka. Kustomisasi seperti itu sangat mungkin dilakukan melalui Bundle class. Kode akan ditambahkan ke event handler Application_Start dan menunjukkan bagaimana kelas Bundle dapat digunakan:

Kode di atas menciptakan bundel baru untuk virtual path ~ atau MyScripts. Kemudian memanggil AddFile () untuk menambahkan file script khusus. Akhirnya, bundel baru yang dibuat akan ditambahkan ke koleksi Berkas. Untuk merujuk pada bundel baru yang Anda buat, maka disarankan menggunakan sintaks berikut:

Selain menciptakan kostumisasi bundel seperti yang ditunjukkan di atas, Anda juga dapat menyesuaikan proses bundling dan minification keseluruhan. Untuk melakukannya, Anda perlu membuat kelas kustom yang mengimplementasikan IBundleTransform interface. Kemudian Anda perlu untuk mengimplementasikan Proses () dalam IBundleTransform interface dan menulis logika pengolahan kustom. Kode berikut menunjukkan implementasi sederhana dari interface IBundleTransform yang menambahkan pemberitahuan hak cipta dengan isi paket/bundel:

Kode di atas menciptakan kelas MyBundleTransform, yang mengimplementasikan interface IBundleTransform. Proses () menerima dua parameter yaitu. a BundleContext dan BundleResponse. Proses ()  kemudian menambahkan pemberitahuan hak cipta di atas isi bundel dan kemudian kembali memberikan Content property. Anda juga bisa mengelola file bundel individu Anda menggunakan respons File property.

Untuk menggunakan MyBundleTransform class, Anda perlu mengubah Application_Start event handlersebagai berikut:

Seperti yang Anda lihat, bundel baru telah selesai dibuat seperti sebelumnya, umpamanya MyBundleTransform class dilewatkan sebagai parameter kedua konstruktor. Jika Anda amati script yang dihasilkan dalam Developer Tools Chrome, Anda akan menemukan baris “copyright” ditambahkan di bagian atas:

Minification_image004Seperti yang telah disampaikan sebelumnya, fitur bundling and minification merupakan fitur baru yang ditambahkan dari ASP.NET 4.5 yang memudahkan untukAnda untuk membundel atau menggabungkan JavaScript dan CSS file, dengan demikian hal tersebut dapat meningkatkan kinerja keseluruhan aplikasi web Anda. Untuk memanfaatkan fitur bundling and minification, yang Anda butuhkan adalah menentukan URL script dan CSS file dengan cara tertentu. Setelah konvensi penamaan ini, otomatis bundel semua JavaScript dan CSS file dari folder akan berfungsi sebagai satu permintaan. Anda juga dapat menyesuaikan proses bundling menggunakan Bundle class dan IBundleTransform interface.

Bagaimana? Apakah Anda sudah berhasil melakukan bundel terhadap file Anda menggunakan Fitur “Bundling and Minification” yang terdapat pada ASP.NET 4.5? Semoga artikel ini bermanfaat.

 

ASP.NET Hosting Indonesia – JaringanHosting.com :: Cara Memblokir Bots dan Spiders dengan Request Filtering

Hal ini mungkin sering dikatakan oleh banyak orang, jika Anda tidak menginginkan tulisan atau konten Anda dicuri, maka jangan pernah mempublikasikan tulisan Anda tersebut di internet. Karena internet telah menjadi integral dari kehidupan kita, dan jika kita tidak memposting apapun yang telah kita buat di blog, forum atau situs web maka tidak akan ada orang yang mengetahui tentang apa yang telah kita buat. Dalam kata lain jika Anda telah membuat sesuatu lalu Anda hanya menyimpannya tanpa pernah mempublikasikannya di internet maka tidak ada satu pun orang yang tahu.

google-analytics-bot-spider-filter

Apa yang telah kita bahas diatas memiliki hubungan dengan apa isi artikel yang akan saya uraikan. Adalah robot indexing programs, crawler dan spiders. Sebuah rogram-program kecil yang berkerumun keluar ke Internet untuk mencari setiap situs web, caching dan me-logging informasi situs web ke dalam database mereka. Sering dibuat oleh mesin pencari untuk membantu halaman indeks, mereka berkeliaran internet dengan bebas dan merangkak semua situs web sepanjang waktu.

Biasanya ini merupakan bagian yang bisa diterima di internet, tetapi beberapa mesin pencari yang begitu agresif dapat meningkatkan konsumsi bandwidth. Dan beberapa bot berbahaya, contohnya mencuri foto dari situs web atau alamat email sehingga mereka dapat melakukan spam. Cara termudah untuk memblokir bot ini adalah dengan membuat file robots.txt sederhana yang berisi petunjuk untuk memblokir bot:

Namun, ada beberapa hal yang salah dengan pendekatan ini. Salah satunya adalah bahwa bot masih bisa meng-hits situs, Anda bisa mengabaikan untuk membuat file robots.txt Anda dan keinginan Anda untuk tidak diindeks.

Tapi ada kabar baik. Jika Anda berada di sebuah server IIS 7, Anda memiliki alternatif lain. Anda dapat menggunakan RequestFiltering setting yang disediakan pada IIS 7. Bekerja pada sebagian tingkat yang lebih tinggi dari layanan web dan tidak dapat dilewati oleh bot.

Untuk setup nya cukup sederhana, dan cara termudah dan tercepat untuk memulai Rule ReqestFiltering Anda adalah memberi kode ke dalam file web.config aplikasi Anda. Unsur RequestFiltering berjalan di dalam elemen <system.webServer> <security>. Jika Anda tidak memiliki ini dalam file aplikasi web.config Anda, maka Anda harus membuatnya. Setelah itu yang harus Anda lakukan adalah menciptakan skema ini untuk setup rules RequestFiltering Anda.

Anda dapat menamakan pengaturan filtering dengan nama apa pun yang Anda ingin dan di elemen  “requestHeader” Anda perlu memastikan bahwa Anda mendefinisikan “User-Agent.” Dalam elemen “add string” Anda harus menentukan nama User Agent . Dalam contoh ini saya set ke YandexBot yang mem-block mesin pencarian yang berasal dari Rusia. Anda juga dapat memblokir mesin pencari seperti Googlebot atau BingBot.

Jika Anda ingin melihat apakah pengaturan ini berhasil memblokir bot, Anda akan perlu untuk men-download log HTTP dari server dan menguraikannya untuk mencari header User-Agent. Jika Anda scroll ke kiri dan menemukan header SC-Status (kode status) Anda akan melihat respon 404 HTTP. Selain header juga akan membawa sc-substatus yang akan menjadi kode substatus ke kode respon HTTP primer.

Berikut adalah daftar kode substatus potensial Anda mungkin Anda lihat ketika Anda mengatur RequestFiltering Anda.

spiders

 

Saran dari saya, sebelum Anda melakukan ini seharusnya Anda harus memikirkan hal ini untuk keseluruhan apa yang akan terjadi. Karena jika Anda melakukan hal ini, ini akan berpengaruh untuk keseluruhan website Anda. Karena akan memberikan banyak perubahan yang akan Anda rasakan sendiri. Pelajari semua dengan seksama dan Anda harus mengerti apa tujuan Anda untuk melakukan semua hal ini.  Sebelumnya saya juga pernah memposting artikel mengenai Cara Mencegah Serangan SQL Injection dengan ASP.NET. Semoga bermanfaat

 

ASP.NET Hosting Indonesia – JaringanHosting.com :: Cara Mencegah Serangan SQL Injection dengan ASP.NET

Saya kembali lagi menulis artikel mengenai SQL Injection. Berbeda dengan artikel sebelumnya yang saya tulis yakni, Cara Melindungi Website PHP Anda dari SQL Injection. Kali ini saya akan membahas mengenai cara mencegah SQL Injection dengan ASP.NET. Sebagai seeorang web developer atau hanya admin sebuah website. Anda sangat perlu untuk memperhatikan hal ini/ Hal yang dianggap sepele sebenarnya adalah hal yang sangat rentan dan berbahaya. Sampai di tahun 2014, SQL Injection adalah cara yang paling banyak digunakan oleh para hackers. Lalu tentu Anda berpikir untuk menghindari hal ini bukan?

thief-web-197x395

 

Jika Anda masih bertanya-tanya mengenai SQL Injection berikut kembali saya jabarkan mengenai SQL Injection

Pada dasarnya, SQL Injection adalah metode hacking yang digunakan terhadap situs web untuk mendapatkan akses ke data situs yang disimpan di dalam database SQL. SQL Injection digunakan untuk mendapatkan akses ke informasi database, untuk menghancurkan informasi database, atau untuk memanipulasi informasi database.

Ada beberapa skenario yang membuat serangan SQL Injection menjadi mungkin. Penyebab paling umum adalah kasus di mana Anda secara dinamis membangun pernyataan SQL tanpa menggunakan parameter yang dibuat dengan benar. Sebagai contoh, perhatikan kode query SQL ini yang dicari oleh Penulis berdasarkan nomor jaminan sosial yang diberikan melalui QueryString:

Jika Anda memiliki kode SQL seperti potongan di atas, maka seluruh database dan aplikasi Anda masuk ke golongan rentan. Bagaimana? Nah dalam skenario, hacker biasanya akan mencoba membobol situs menggunakan nomor jaminan sosial yang akan dilakukan seperti:

Ini akan dilakukan seperti apa yang developer harapkan, dan pencarian database untuk informasi penulis disaring oleh nomor jaminan sosial. Tetapi karena nilai parameter QL belum dikodekan, hacker bisa dengan mudah mengubah nilai querystring untuk menanamkan pernyataan SQL tambahan setelah nilai untuk mengeksekusi. Sebagai contoh:

Perhatikan bagaimana saya bisa menambahkan ‘;DROP DATABASE pubs —  dengan nilai querystring SSN dan menggunakannya untuk mengakhiri pernyataan SQL saat ini (melalui karakter “;”), dan kemudian menambahkan sendiri pernyataan SQL yang berbahaya untuk string , dan kemudian keluar comment sisa pernyataan (melalui karakter”-” ). Karena kita hanya secara manual concatenating pernyataan SQL ke dalam kode kita, kita akan berakhir dengan melewati semua ini ke database, yang akan mengeksekusi query pertama terhadap tabel editor, dan kemudian menghapus tabel database pub kita. Dan semuanya akan hilang begitu saja

Dalam kasus ini Anda harus berpikir tentang ide hacker anonim yang akan mencoba menghapus tabel database Anda. Alih-alih hanya menghancurkan data, hacker malah bisa menggunakan kerentanan kode di atas  untuk melakukan JOIN dan mengambil semua data dalam database Anda dan menampilkannya pada sebuah halaman (yang memungkinkan mereka untuk mengambil username / password / credit-card). Mereka juga bisa menambahkan pernyataan UPDATE / INSERT untuk memodifikasi harga produk, menambahkan admin baru, dan benar-benar mengacaukan hidup Anda.

Bagaimana Anda melindungi diri Anda dari semua hal buruk tersebut?

Serangan SQL Injection adalah sesuatu yang perlu Anda khawatirkan. Tentang terlepas dari teknologi pemrograman web yang Anda gunakan. Beberapa aturan yang sangat dasar Anda harus selalu Anda ikuti :

1) Jangan membangun Laporan SQL dinamis tanpa menggunakan mekanisme parameter encoding yang aman. Kebanyakan API data (termasuk ADO + ADO.NET) memiliki dukungan untuk memungkinkan Anda untuk menentukan dengan tepat jenis parameter yang disediakan (misalnya: string, integer, tanggal) dan dapat memastikan bahwa mereka dikodekan bagi Anda untuk menghindari hacker yang mencoba untuk memanfaatkannya. Selalu menggunakan fitur ini.

Misalnya, dengan SQL dinamis menggunakan ADO.NET Anda bisa menulis ulang kode di atas seperti di bawah ini untuk membuatnya aman:

Ini akan mencegah seseorang yang mencoba menyelinap ke dalam SQL, dan menghindari masalah data lainnya. Perhatikan bahwa desainer TableAdapter/DataSet built-ke VS 2005 menggunakan mekanisme ini secara otomatis, seperti halnya ASP.NET 2.0 kontrol sumber data.

Salah satu kesalahan persepsi umum adalah bahwa jika Anda menggunakan SPROCs atau ORM, Anda benar-benar aman dari Serangan SQL Injection. Hal ini tidak benar. Anda masih perlu untuk memastikan Anda berhati-hati ketika Anda melewati nilai ke SPROC, dan / atau ketika Anda pergi atau menyesuaikan permintaan dengan ORM yang Anda akan melakukannya dengan cara yang aman.

2) Selalu melakukan peninjauan keamanan aplikasi Anda sebelum menggunakannya. Titik ini adalah suatu yang super penting. Terlalu sering saya dengar dari tim yang melakukan peninjauan keamanan benar-benar rinci sebelum pergi tinggal, kemudian memiliki beberapa “benar-benar kecil” update mereka membuat ke situs minggu/bulan kemudian di mana mereka Sign In melakukan peninjauan keamanan. Selalu melakukan review keamanan.

3) Jangan pernah menyimpan data sensitif di dalam teks di dalam database. Pendapat pribadi saya adalah bahwa password harus selalu hash satu arah. ASP.NET 2.0 API melakukannya untuk anda secara otomatis secara default. Jika Anda memutuskan untuk membangun sendiri databese toko member Anda, saya akan merekomendasikan memeriksa sumber kode untuk pelaksanaan penyedia member kita sendiri bahwa kita dipublikasikan di sini. Juga pastikan untuk mengenkripsi kredit-kartu dan data pribadi lainnya dalam database Anda. Dengan cara ini bahkan jika database Anda disusupi, data pribadi setidaknya pelanggan Anda tidak dapat dieksploitasi.

4) Pastikan Anda menulis otomatisasi unit test yang secara khusus memverifikasi Anda ke lapisan akses data dan aplikasi terhadap serangan SQL Injection. Dan memberikan lapisan keamanan tambahan untuk menghindari sengaja memperkenalkan bug keamanan yang buruk ke dalam aplikasi Anda.

5) Mengunci database Anda. Jika aplikasi web Anda tidak memerlukan akses ke tabel tertentu, maka pastikan bahwa mereka semua tidak memilik izin untuk itu. Jika hanya read-only maka akan menghasilkan laporan dari tabel hutang account Anda maka pastikan Anda menonaktifkan insert / update / menghapus akses.

 

ASP.NET Hosting Indonesia – JaringanHosting.com :: URL Rewriting dengan ASP.NET

URL Rewriting atau bisa juga kita sebut penulisan ulang atau pergantian URL pada situs kita. URL Rewriting terkadang dilakukan untuk beberapa tujuan diantaranya, untuk alasan security dan juga SEO. Jika membahas tentang SEO, Rewriting URL juga merupakan cara yang lumayan efektif untuk meningkatkan pengunjung blog Anda. Tapi kali ini kita tidak akan membahas tentang SEO, melainkan membahas technical mengenai URL Rewriting menggunakan ASP.NET. Pada artikel sebelumnya saya telah membagikan tentang Cara Mengintegrasikan Pembayaran via Credit Card Dengan ASP

Perfect-Domain-Name

Contoh Skenario URL Rewriting

Untuk tujuan posting blog ini, saya akan menganggap kita sedang membangun sebuah situs e-commerce yaitu halaman katalog, Dan kategori produknya telah kita tetapkan (misalnya: buku, video, CD, DVD, dll ).

Mari kita asumsikan bahwa kita awalnya memiliki halaman yang disebut “Products.aspx” yang mengambil nama kategori sebagai querystring argumen, dan menyaring produk yang sesuai. URL yang sesuai dengan halaman Products.aspx terlihat seperti ini:

Kita menggunakan QueryString untuk mengekspos setiap kategori, selanjutnya kita memodifikasi aplikasi sehingga setiap kategori produk tampak seperti URL unik yang baik untuk search engine, dan memiliki keyword kategori yang tertanam di URL yang sebenarnya. Saya akan menjelaskan tutorial ini dengan lebih dari 4 pendekatan yang berbeda yang kita bisa ambil untuk keseluruhannya.

Pendekatan 1: Gunakan Request.PathInfo Parameter querystrings

Pada pendekatan pertama saya akan menunjukkan untuk tidak menggunakan URL Rewriting sama sekali, dan sebagai gantinya menggunakan fitur yang sedikit diketahui dari ASP.NET – Request.PathInfo property. Untuk membantu menjelaskan kegunaan dari properti ini, pertimbangkan skenario URL di bawah ini untuk toko e-commerce kita:

Satu hal yang akan Anda lihat dari URL di atas  bahwa URL tersebut tidak lagi memiliki nilai-nilai Querystring, bukan nilai parameter kategori yang ditambahkan ke URL sebagai Trailing /param value  setelah nama Products.aspx  sebagai halaman handler. Sebuah crawler search engine otomatis kemudian akan menafsirkan URL ini sebagai tiga URL yang berbeda, dan bukan sebagai satu URL dengan tiga nilai input yang berbeda (mesin pencari mengabaikan ekstensi nama file dan hanya memperlakukannya sebagai karakter lain dalam URL).

Anda mungkin bertanya-tanya bagaimana Anda menangani skenario yang ditambahkan di parameter ini dalam ASP.NET. Kabar baiknya adalah bahwa hal itu cukup sederhana. Cukup menggunakan Request.PathInfo property , yang akan segera mengembalikan konten setelah bagian products.aspx dari URL. Jadi untuk URL di atas, Request.PathInfo akan kembali “/ Buku”, “/ DVD”, dan “/ CD” (dalam kasus Anda bertanya-tanya, properti Request.Path akan kembali menjadi “/products.aspx”).

Anda kemudian dapat dengan mudah menulis fungsi untuk mengambil kategori seperti begitu.

Pendekatan 2: Menggunakan HttpModule untuk menampilkan URL Rewriting

Pendekatan alternatif untuk teknik Request.PathInfo diatas akan mengambil keuntungan dari metode HttpContext.RewritePath () yang disediakan ASP.NET. Metode ini memungkinkan developer untuk secara dinamis menulis ulang jalur pengolahan URL yang masuk, dan ASP.NET untuk kemudian melanjutkan mengeksekusi permintaan menggunakan jalur baru yang ditulis ulang.

Sebagai contoh, kita bisa memilih untuk mengekspos URL berikut untuk publik:

Hal ini terlihat seperti ada tiga halaman terpisah di situs kita dan akan terlihat bagus untuk crawler pencarian. Dengan menggunakan metode HttpContext.RewritePath () kita secara dinamis dapat menulis ulang URL yang masuk ketika mereka pertama kali mengakses server untuk bukan memanggil halaman Products.aspx tunggal yang mengambil nama kategori sebagai Querystring atau parameter PathInfo sebagai gantinya. Sebagai contoh, kita bisa menggunakan Application_BeginRequest di Global.asax untuk melakukan hal ini:

Kelemahan dari menulis menual kode seperti di atas adalah bahwa hal itu dapat membosankan dan rawan kesalahan. Daripada melakukannya sendiri, saya akan merekomendasikan kepada Anda untuk menggunakan salah satu HttpModules yang sudah dibangun dan tersedia di web secara gratis untuk melakukan pekerjaan ini untuk Anda. Berikut beberapa penyedia yang memberikan layanan gratis yang dapat Anda download dan gunakan saat ini:

  • UrlRewriter.net
  • UrlRewriting.net

Modul ini memungkinkan Anda untuk menerangkan dengan cepat aturan pencocokan dalam file web.config aplikasi Anda. Misalnya, untuk menggunakan modul UrlRewriter.Net dalam file web.config aplikasi Anda untuk memetakan URL di atas ke halaman Products.aspx tunggal, kita hanya bisa menambahkan file web.config ini untuk aplikasi kita dan tidak ada kode lain yang diperlukan :

HttpModule Rewriters URL  di atas juga menambahkan support untuk regular expression dan pola pencocokan URL. Jadi, bukan hanya hard-coding list kategori, Anda bisa menulis ulang aturan seperti di bawah ini untuk secara dinamis menarik kategori dari URL untuk setiap kombinasi “/products/[category].aspx” :

Hal ini membuat akan kode Anda jauh lebih bersih dan super extensible.

Pendekatan 3: Menggunakan HttpModule untuk menampilkan Ekstensi-Less URL Rewriting dengan IIS7

Pendekatan HttpModule untuk skenario di mana Anda menulis ulang URL memiliki ekstensi .aspx, atau ekstensi file lain yang dikonfigurasi untuk diproses oleh ASP.NET. Ketika Anda melakukan konfigurasi ini, tidak ada kustom server yang diperlukan.

Ada saat ketika Anda ingin menulis ulang URL yang memiliki ekstensi non-ASP.NET file (misalnya: .jpg, .gif, atau htm). Sebagai contoh, kita mungkin ingin mengekspos URL ini sebagai halaman katalog publik kita :

Dengan IIS5 dan IIS6, pengolahan URL di atas menggunakan ASP.NET tidak akan mudah untuk kita lakukan. IIS 5/6 membuat kita sulit untuk melakukan penulisan ulang URL pada jenis URL dalam Extensions ISAPI yang diimplementasikan ASP.NET. Sebaliknya Anda perlu melakukan penulisan ulang IIS request pipeline menggunakan ISAPI Filter. Saya akan menunjukkan bagaimana cara untuk melakukan ini pada IIS5/6 dalam Pendekatan 4 bagian di bawah.

Kabar baiknya adalah bahwa IIS 7.0 membuat penanganan jenis skenario yang super mudah. Sekarang Anda dapat melihat HttpModule mengeksekusi apa saja dalam IIS request pipeline, yang berarti Anda dapat menggunakan modul URLRewriter di atas untuk memproses dan menulis ulang ekstensi URL. Di bawah ini adalah cara bagaimana Anda akan mengkonfigurasikan ini dengan IIS7:

Perhatikan “runAllManagedModulesForAllRequests” atribut yang diatur true pada <modules> pada bagian dalam <system.webServer>. Ini akan memastikan bahwa modul UrlRewriter.Net dari Intelligencia, yang ditulis sebelum IIS7 dikirim, akan dipanggil dan memiliki kesempatan untuk menulis ulang semua permintaan URL ke server (termasuk untuk folder). Apa yang benar-benar terlihat keren tentang file web.config di atas adalah bahwa:

  1. Ini akan bekerja pada setiap IIS 7.0. Anda tidak perlu sebagai administrator untuk mengaktifkan apapun pada remote host. Hal ini juga akan bekerja dalam skenario shared hosting.
  2. Karena saya sudah mengkonfigurasi UrlRewriter baik di bagian <HttpModules> dan IIS7 <modules>, saya dapat menggunakan URL yang sama saat Menulis ulang aturan untuk kedua VS web-server serta pada IIS7. Keduanya sepenuhnya mendukung ekstensi URLRewriting. Hal ini membuat pengujian dan pengembangan menjadi sangat mudah.

Pendekatan 4: ISAPIRewrite untuk mengaktifkan Ekstensi URL Rewriting untuk IIS5 dan IIS6

Jika Anda tidak ingin menggunakan IIS 7.0 dalam rangka untuk mengambil keuntungan dari ekstensi URL Rewriting, maka cara terbaik adalah dengan menggunakan ISAPI Filter untuk menulis ulang URL. Ada dua ISAPI Filter yang saya sadari bahwa Anda mungkin ingin menggunakannya:

  • Helicon Tech ISAPI Rewrite: Mereka memberikan ISAPI Rewrite versi produk lengkap hanya dengan $ 99 (dengan trial 30 hari), serta ISAPI Rewrite edisi lite yang bebas.
  • Ionic’s ISAPI Rewrite: Ini bisa Anda download secara gratis

Saya benar-benar tidak punya pengalaman menggunakan salah satu solusi di atas, meskipun saya pernah mendengar hal-hal baik tentang solusi diatas. Scott Hanselman dan Jeff Atwood baru-baru ini keduanya menulis posting blog yang besar tentang pengalaman mereka menggunakan solusi tersebut, dan juga memberikan beberapa contoh tentang bagaimana untuk mengkonfigurasi solusi diatas. Aturan untuk Helicon Tech ISAPI Rewrite menggunakan sintaks yang sama seperti mod_rewrite Apache. Sebagai contoh :

Catatan: Ada satu kelemahan untuk menggunakan filter ISAPI adalah bahwa shared hosting biasanya tidak akan memungkinkan Anda untuk menginstal komponen ini, dan sehingga Anda akan memerlukan sebuah VPS atau server dedicated hosting untuk menggunakannya. Tapi, jika Anda memiliki rencana untuk menggunakan VPS dan Dedicated Hosting yang memungkinkan Anda untuk menginstal ISAPI, itu akan memberikan fleksibilitas maksimum pada IIS5 /6.

Penanganan ASP.NET PostBacks dengan URL Rewriting

Satu hal bahwa orang sering mengalami kendala ketika menggunakan ASP.NET dan Url-Rewriting adalah bahwa mereka harus melakukan dengan penanganan skenario postbacks. Khususnya, ketika Anda menempatkan sebuah <form runat = “server”> kontrol pada halaman, ASP.NET akan secara otomatis menghasilkan default output “action” atribut markup untuk mengarahkan kembali ke halaman itu. Masalah saat menggunakan URL-Rewriting adalah bahwa URL yang <form> kontrol tidak membuat URL asli dari permintaan (misalnya: /produk /buku), melainkan ditulis ulang satu (misalnya:/produk. aspx?kategori= uku). Ini berarti bahwa ketika Anda melakukan postback ke server, URL tidak akan terlihat “bersih”.

Dengan ASP.NET 1.0 dan 1.1, orang sering terpaksa sub-classing <form> kontrol dan menciptakan kontrol mereka sendiri yang benar untuk output tindakan yang digunakan. Akhirnya menjadi sedikit berantakan, karena itu berarti Anda harus memperbarui semua halaman Anda untuk menggunakan bentuk kontrol lainnya, dan kadang-kadang dkita memiliki masalah dengan Visual Studio desainer WYSIWYG.

Kabar baiknya adalah bahwa dengan ASP.NET 2.0, ada trik cleaner yang dapat Anda gunakan untuk menulis ulang “action” atribut pada <form> kontrol. Secara khusus, Anda dapat mengambil keuntungan dari ASP.NET 2.0 Kontrol Adapter arsitektur untuk menyesuaikan rendering dari <form> kontrol, dan menimpa “action” value atribut dengan value yang Anda berikan. Ini tidak mengharuskan Anda untuk mengubah kode apapun di halaman .aspx Anda. Sebaliknya, hanya menambahkan file .browser ke folder /app_browsers Anda yang register kelas Kontrol Adapter digunakan untuk output baru “action” atribut:

step1

Penanganan CSS dan Gambar yang Referensi Benar

Satu hal bahwa kebanyakan orang kadang-kadang mengalami gangguan ketika menggunakan URL Rewriting untuk pertama kalinya adalah bahwa mereka menemukan bahwa gambar dan CSS stylesheet referensi mereka kadang-kadang tampak berhenti bekerja. Hal ini karena mereka memiliki referensi relatif terhadap file-file ini di dalam halaman HTML mereka dan ketika Anda mulai menulis ulang URL dalam aplikasi Anda, perlu menyadari bahwa browser akan sering meminta file dalam tingkat hirarki logis yang berbeda dari apa yang sebenarnya disimpan pada server.

Misalnya, jika halaman /products.aspx kita di atas memiliki referensi relatif terhadap “logo.jpg” di halaman .aspx, tapi diminta melalui url /products/books.aspx, maka browser akan mengirimkan permintaan untuk /produk/logo.jpg bukannya /logo.jpg ketika merender halaman. Untuk referensi file ini dengan benar, pastikan Anda memenuhi syarat root CSS dan Image referensi (“/style.css” bukan “style.css”). Untuk ASP.NET kontrol, Anda juga dapat menggunakan ~ sintaks untuk referensi file dari root aplikasi (misalnya: <asp:image imageurl=”~/images/logo.jpg” runat=”server”/>. Sekian mengenai URL Rewriting dengan ASP.NET Semoga bermanfaat

 

ASP Hosting Indonesia – JaringanHosting.com :: Cara Mengintegrasikan Pembayaran via Credit Card Dengan ASP

Pada artikel sebelumnya kami pernah membagikan Cara Mengintegrasikan PayPal Dengan ASP.NET MVC. Jika sebelumnya mengenai PayPal, di artikel ini saya akan menjelaskan mengenai  Cara mengintegrasikan pembayaran menggunakan credit card ke payment system Anda.  Saya akan menggunakan 2 komponen dari /n software yaitu, IBiz VitalPS Integrator dan IP*Works! 3-D Secure MPI. Pada tutorial ini saya akan menggunakan edisi ASP, Meskipun fungsi ini juga dapat dilakukan dengan menggunakan edisi NET dalam aplikasi web ASP.NET. Atau menggunakan edisi C++ untuk membuat aplikasi CGI yang bisa dijalankan di server. Selain 2 komponen yaitu IBiz VitalPS Integrator dan IP*Works! 3-D Secure MPI, kita harus membuat akun dengan Visa’s PIT test server, dan juga mendownload dan menginstall beberapa certificates. 

creditcard

Merchant.inc

Untuk membuatnya menjadi sederhana, kita akan membagi file-file yang dibutuhkan menjad 4 bagian terpisah yaitu, Mechant.inc, OrderPage.asp, VerifyEnrollment.asp, ProcessPARes.asp, dan PaymentPage.asp. Kita akan mulai dari Mechant.inc, yang berisi semua pengaturan kita yang akan dimasukkan ke seluruh halaman lain. Dalam file ini, baik itu IBiz VitalPS Integrator dan IP*Works! 3-D Secure MPI harus di inisialisasi dengan data merchant Anda. Dalam tutorial ini kita menggunakan data test account

OrderPage.asp

Halaman ini adalah di mana informasi kartu kredit pelanggan akan dikumpulkan. Pedagang telah lebih dulu memulai akan menghadapi sesuatu yang jauh lebih rumit, tetapi di tutorial ini kita akan kompres ke bentuk yang sederhana. Formulir ini selanjutnya akan dikirim ke halaman VerifyEnrollment.asp kita, di mana komponen 3-D Secure MPI digunakan untuk memverifikasi identitas pemegang kartu. Sebagian besar pedagang harus membuat sedikit perubahan pada halaman order mereka ada untuk menambahkan 3-D secure support. Perbedaannya hanyalah dua halaman menengah. Harap diperhatikan bahwa data berikut ini adalah data uji, dan jumlah yang diindikasikan tanpa titik desimal.

VerifyEnrollment.asp

Setelah pelanggan menekan tombol order, data kartu kredit akan diposting ke halaman VerifyEnrollment.asp. Hal pertama yang kita lakukan di sini adalah menyimpan informasi untuk databese order. Setelah menyimpan info, kita menggunakan komponen 3-D Secure MPI  untuk memeriksa apakah kartu kredit pelanggan terdaftar dalam program Visa Verified By Visa.

 Jika terjadi kesalahan komunikasi dengan Directory Server atau kartu dinyatakan tidak terdaftar, transaksi tersebut harus dilanjutkan secara normal ke Halaman Pembayaran. Catatan bahwa ini benar-benar transparan kepada pelanggan. Jika kartu nya tidak terdaftar di Verified By Visa atau Mastercard SecureCode, transaksi di proses seperti biasa. Namun, jika kartu tersebut terdaftar maka pelanggan akan diarahkan ke situs tertentu di ACSURL property komponen 3-D Secure.

Harap dicatat bahwa di atas kode Javascript, atau sesuatu yang mirip, adalah sesuatu yang penting agar 3-D Secure MPI bekerja. Pelanggan harus diarahkan dari jendela browser sendiri. Pelanggan meninggalkan situs merchant dan pergi ke lokasi yang ditentukan dalam ACSURL property. Setelah pelanggan masukan password untuk kartu kredit, ia akan diarahkan kembali ke TermUrl, yang dalam hal ini adalah “ProcessPARes.asp” file yang berada di server merchant. Merchant data berisi kunci ke dalam database kita untuk memperoleh data transaksi, dan dikirim kembali ke TermUrl setelah pelanggan memasukkan password.

ProcessPARes.asp

Halaman ProcessPARes.asp adalah tempat Access Control Server yang ditunjukkan ke dalam ACSURL property atas posting apakah pelanggan telah dikonfirmasi atau tidak. Pos dari ACS akan mencakup bentuk variabel “Pares” dan “MD”. “Pares” berisi respon yang ditandatangani dan dienkripsi, dan “MD” melewati data merchant yang diperlukan untuk mengambil transaksi dari database merchant. Untuk mengurai paket respon ini, cukup dengan memberikan isi Pares dengan metode CheckAuthenticationResponse. Jika tidak terjadi kesalahan dan AuthenticationStatus property adalah “Y” (dikonfirmasi) atau “A” (upaya otentikasi), maka pelanggan dianggap telah dikonfirmasi . Jika dikonfirmasi, Anda dianggap telah lulus TransactionID property, AuthenticationCAVV, dan AuthenticationECI ke komponen Ibiz VitalPS oVPS agar dianggap memenuhi syarat untuk perlindungan ekstra dan mendapatkan diskon. Jika AuthenticationStatus adalah “N”, Anda TIDAK Di HARUSKAN menyelesaikan transaksi.

PaymentPage.asp

Langkah terakhir adalah PaymentPage.asp. Di sinilah kartu kredit pelanggan sebenarnya dihitung dan dipotong untuk pembayaran. Komponen Vital PS oVPS dibuat pada langkah merchant.inc diatas. Sekarang kita akan menggunakan komponen ini untuk meng-otorisasi kartu pelanggan. Kita hanya akan memuat transaksi dari database, menambahkan 3D Secure XID, ECI, dan CAVV dan berakhir pada penagihan kartu kredit.

Artikel ini menunjukkan bagaimana mengintegrasikan sebuah sistem pembayaran merchant yang sangat sederhana dari awal. Namun, 3-D Secure MPI dan Ibiz VitalPS Integrator dapat dengan mudah diintegrasikan ke dalam sistem yang ada. Jika gateway yang Anda gunakan support 3-D Secure data transport (XID, CAVV, dan ECI) Anda dapat menggunakan komponen IP*Works! 3-D Secure MPI untuk mengotentikasi pemegang kartu dengan menciptakan halaman penengah antara checkout dan pembayaran seperti yang ditunjukkan di atas. Dengan begitu sekarang Anda sudah berhasil bukan Mengintegrasikan Pembayaran via Credit Card ke Payment System Anda? Semoga bermanfaat

 

ASP.NET Hosting Indonesia – JaringanHosting.com :: Anda Pikir Website Anda Tidak Bisa di-Hack? Check lagi!

Jika di artikel sebelumnya saya telah memberikan info Cara Menemukan SQL Injections Menggunakan HTTP Logs. Di artikel kali ini kami akan memberikan tips untuk mencegah serangan hacker.

ASP.NET Hosting Indonesia – JaringanHosting.com

Terkadang kita pernah sombong dan merasa bahwa website kita sudah aman 100%. Padahal tidak ada yang namanya aman 100% di internet. Karena sesungguhnya semua itu adalah buatan manusia. Yang sempurna hanyalah buatan tuhan. Tapi mungkin Anda pernah bertanya, “Apa manfaatnya untuk hacker yang menyerang website kita?”.

Kemungkinan bukan situs Anda yang secara khusus yang menjadi sasaran, melainkan situs yang memiliki kerentanan. Anda mungkin menjadi salah satu sasaran dari hacker tersebut. Secara umum, hacker menyerang suatu website untuk alasan sebagai berikut:

  • Untuk mendapatkan akses ke web server yang terhubung dengan baik untuk melancarkan serangan pada network lain.
  • Untuk mencuri file sensitif atau data, database yang berisi informasi pribadi dan nomor kartu kredit.
  • Menggunakan situs Anda untuk meng-host spyware, malware atau halaman phishing.
  • Untuk menggunakan situs Anda untuk mengirimkan spam

Kenapa Hacker bisa membobol situs Anda?

Berdasarkan pengalaman saya pribadi, hacker biasanya membobol sebuah situs dengan cara sebagai berikut :

Melalui lubang keamanan yang dikenal dalam aplikasi Anda

Misalnya, jika Anda menggunakan plugin wordpress yang memiliki masalah keamanan dan Anda mengaabaikannya untuk memperbaruinya, hacker dapat mencari situs Anda menggunakan mesin pencari seperti Google dan melakukan serangan bot otomatis yang akan mengincar situs Anda. Bulan lalu lebih dari 50.000 situs WordPress di-hack melalui Plugin yang rentan. Hal ini dapat terjadi pada siapa saja.

Menggunakan password yang lemah pada aplikasi pihak ketiga

Setiap hari kita melihat bot datang ke scanning jaringan kita untuk aplikasi yang terkenal. Setelah salah satu dari aplikasi tersebut diidentifikasi, bot mencoba sebuah kekuatan menyerang atau melakukan bruteforce untuk memecahkan password administrator administrator.

Form upload yang tidak aman

Ini adalah masalah yang sangat umum yang kita lihat hampir setiap hari. Banyak situs memiliki mekanisme meng-upload foto / dokumen bagi pengguna mereka. Jika aplikasi upload itu tidak aman, hacker dapat dengan mudah meng-upload webshell. Setelah webshell di-upload, hacker dapat meng-upload beberapa file untuk melakukan eksperimen di situs Anda.

Akun FTP yang telah dibobol

Jika PC lokal Anda terganggu, hacker dapat dengan mudah menginstal logger untuk menangkap semua aktivitas Anda, termasuk emai, username dan password FTP Anda. Begitu mereka memiliki kredensial akun Anda, mereka dapat meng-upload sesuatu ke situs Anda. Jika Anda menghapus file yang Anda anggap berbahaya tetapi Anda tidak menyadari bahwa kredensial Anda telah dibobol, kemungkinan besar mereka akan meng-upload file lagi setiap kali Anda menghapusnya.

Lalu Apa yang Bisa Saya lakukan untuk membantu Anda?

Kami mulai melihat peningkatan pesat dalam jumlah situs yang dibobol sekitar setahun yang lalu. Saya juga menemukan bahwa sebagian besar orang membutuhkan bantuan untuk memperbaiki dan mengamankan situs mereka. Itu tidak mengherankan, mengingat banyak hacker yang akan mencoba dalam rangka untuk menutupi jejak mereka. Jadi saya telah mengambil sejumlah langkah untuk membantu mengatasi masalah Anda.

Melakukan Scan Teratur untuk Mengatahui Apakah SitusAnda telah dibobol

Lakukan scanning pada setiap web server Anda untuk mencari eksploitasi yang telah dilakukan. Lakukanlah ini sesering mungkin

SiteLock Partnership

SiteLock adalah perusahaan pihak ketiga yang menyediakan layanan scanning harian yang secara otomatis dapat menghapus malware dan mengingatkan Anda untuk kerentanan situs Anda.

Situs yang Menyediakan Layanan Cleaning

Seperti yang saya sebutkan, banyak orang yang menginformasikan kepada saya bahwa situs mereka telah disusupi dan tidak tahu apa yang harus mereka lakukan. Anda bisa mencari situs yang menyediakan layanan Cleaning untuk situs Anda. Jika Anda ingin mengidentifikasi situs Anda untuk memastikan situs Anda telah disusupi, Anda bisa menggunakan layanan ini.

Apa yang bisa Anda lakukan untuk menghindari serangan Hacker?

Ada beberapa hal yang dapat Anda lakukan untuk mengamankan aplikasi web Anda.

Pastikan Anda selalu melakukan update pada aplikasi yang Anda gunakan

Sering saya melihat banyak orang yang menggunakan aplikasi dari pihak ketiga dengan versi yang sudah sangat lama. Mereka tidak pernah meng-update aplikasi tersebut. Jika ada aplikasi yang mengingatkan Anda untuk melakukan update, sebaiknya segera Anda lakukan. Ini dapat menghindarkan Anda dari hal-hal yang tidak Anda inginkan.

Ganti Defult Password

Seringkali ketika Anda menginstall suatu aplikasi atau CMS Anda menggunakan password default dari aplikasi/CMS tersebut. Untuk menghindari sesuatu yang tidak diinginkan sebaiknya Anda mengganti password tersebut

Install Antivirus dan pastikan up-to-date

Antivirus yang gratis lebih baik daripada Anda sama sekali tidak meggunakan Antivirus. Anda juga bisa menggunakan Antivirus yang berbayar jika Anda menginginkan suatu yang lebih

Konfigurasi FTP 

Anda bisa melakukansetting untuk konfigurasi FTP di Control Panel tepatnya di FTP Manager. Setting di FTP IP Resriction. Untuk memastikan bahwa hanya IP Anda yang bisa melakukan connect ke FTP Anda

Gunakan Password yang Kompleks untuk FTP, email dan aplikasi yang Anda gunakan

Pastikan bahwa Anda menggunakan password yang aman. Selalu gunakan kombinasi password dengan angka dan huruf besar kecil. Ini dapat membuat si hacker mangalami kesulitan ketika mencoba memecahkan password Anda.

Jika situs Anda memiliki fungsionalitas upload, lakukan hal berikut:

Pastikan bahwa Kode yang Anda buat harus memblokir pengguna yang meng-upload ekstensi file executable seperti .asp, .aspx, php, exe, dll

Execute permission harus dinonaktifkan pada folder di mana Anda memungkinkan pengguna untuk meng-upload file. Untuk menonaktifkannya, buat file web.config pada folder dan isi kode berikut:

Melindungi situs Anda dari bot berbahaya dan hacker adalahsesuatu yang lebih penting daripada sesuatu yang lain. Waktu telah berubah dan situs yang “kecil” sekalipun tidak lagi aman. Hacker akan mencari situs apapun, di mana saja, dan jika Anda membuat kesulitan bagi orang-orang jahat untuk masuk, mereka akan membobol situs Anda. Ini bukan pertanyaan tentang apakah, tetapi ketika. Sekian mengenai artikel untuk mencegah serangan hacker. Semoga bermanfaat

 

Cloud Server Indonesia – JaringanHosting.com :: Cara Menghitung IOPS Pada Windows Server Cloud

Mengetahui bagaimana memperkirakan penggunaan IOP (Input/Output Operations) anda, dapat membantu anda memahami penggunaan dari server yang dipakai dan membantu anda menghitung berapa banyak transaksi pada blok SAN (Storage Area Network) yang anda perlukan. Untuk sebagian besar server, ini akan baik-baik saja. Di sisi lain, memiliki banyak kegiatan SQL Server atau situs web yang sangat sibuk dapat mendorong penggunaan TIO lebih dari batas ini yang dapat mempengaruhi biaya bulanan Anda. Memahami penggunaan IOP Anda juga dapat membantu menentukan apakah konfigurasi sesuai. Atau jika hybrid server configuration menggunakan cloud server dan dedicated server akan lebih baik.

Cloud Server Indonesia - JaringanHosting.com

Ukuran sebuah TIO dapat sekecil 4 kilobyte atau sama besar dengan 64 kilobyte. Jumlah operasi yang digunakan untuk server Anda pada bulan tersebut akan tergantung pada ukuran file yang dibaca / ditulis ke disk dan juga dapat dipengaruhi oleh file yang terfragmentasi pada disk.

Anda dapat menganggap suatu TIO sebagai wadah yang bergerak data dari SAN ke daftar Cloud Server. Untuk file kecil, wadah kecil yang digunakan (4k). Jika Anda bekerja dengan banyak file kecil, akan banyak data yang pindah namun jika anda bekerja dengan banyak file besar, wadah besar (64KB) digunakan. Hal ini memungkinkan Anda untuk mentransfer jumlah yang lebih besar dari data dalam jumlah yang sama.

Dalam kebanyakan kasus, usage anda akan menjadi kombinasi dari berbagai ukuran wadah yang berbeda selama periode waktu tertentu. In order, anda merencanakan jumlah IOPS yang anda gunakan, anda dapat menghitung IOPS sesuai dengan yang tertinggi dan terendah. Ini akan memberi Anda gambaran tentang jumlah minimum dan maksimum IOPS Anda dapat menggunakan.

Sebagai contoh, mari kita gambarkan, bahwa anda akan mentransfer 500 GB data dalam sebulan antara SAN dan server anda. Dengan ukuran wadah terkecil dari 4 KB perhitungan akan terlihat seperti ini :

500 GB * 1024 * 1024 / 4 = 131,072,000 IOPs

Formula ini membutuhkan 500 GB, mengalikan dengan 1024 untuk mengkonversi ke megabyte, kemudian mengalikan dengan 1024 lagi untuk mengkonversi ke kilobyte. Akhirnya, anda membagi dengan wadah sebesar 4KB untuk mendapatkan IOPs.

Disisi lain kita menggunakan wadah sebesar 64KB :

500 GB * 1024 * 1024 / 64 = 8,192,000 IOPs

Perhitungan ini akan membantu anda memahami jumlah IOPS anda pada Cloud Server yang digunakan.

 

Cloud Server Indonesia – JaringanHosting.com :: 5 Tipe Files yang Menghabiskan Disk Space Server Anda

Anda kehabisan Disk Space di server Anda? Tapi tidak tahu penyebabnya? Jika di artikel sebelumnya kami telah memberikan 5 Tips Pro Mempercepat WordPress Anda. Pada artikel ini kami akan memberikan info kepada Anda tentang 5 Tipe Files yang Menghabiskan Disk Space Server Anda.

Cloud Hosting Indonesia – JaringanHosting.com

Manfaat Manajemen Data yang Baik

Jika Anda ingin :

  • Backups lebih cepat.
  • Waktu restore lebih cepat.
  • System security yang baik.
  • Maintenance file system dengan mudah .
  • Kemudian Anda perlu untuk mengelola data server Anda dan mencegah terbuangnya disk space

Berikut adalah 5 penyebab yang sering terlepas dari kontrol dan menjadi penyebab terbuangnya disk space Anda.

Email Storage

Email sering memakan disk space lebih banyak daripada situs web Anda. Beberapa attachment besar di email Anda juga merupakan penyebab pembengkakan Email storage. Inbox email bahkan dapat membengkak menjadi gigabyte jika tidak dibatasi oleh kuota sistem. Kontrol panel seperti cPanel dan Plesk memberikan kemudahan untuk mengatur sistem kuota. Bahkan jika server Anda saat ini memiliki banyak disk space, saya sarankan Anda melakukan pengaturan kuota untuk setiap account email. Dengan cara ini Anda dapat melindungi server Anda

Log Files

Jika rotasi log tidak pernah dikonfigurasi dengan benar atau gagal, log dapat dengan cepat meningkat dalam ukuran yang sangat besar. Pada situs web yang besar, file log multi-GB dapat terjadi dalam beberapa hari (atau bahkan jam). Untungnya, file log mudah untuk dihapus. Ketika mempertimbangkan strategi untuk log Anda, pertimbangkan seberapa penting data file log tersebut. Sebaiknya Anda memikirkan manajemen File log yang benar.

Redundant Backups

Apakah Anda pikir Anda benar-benar membutuhkan database dari tahun 2007? Mungkin menurut Anda ini adalah kebutuhan untuk mempertahankan backup yang lebih lama, tetapi jika Anda kehabisan disk space, di mana Anda akan menyimpannya? Menyimpannya di Server Anda mungkin bukan tempat yang tepat. Men-download dan pengarsipan backup ke media penyimpanan jangka panjang mungkin lebih tepat. Singkatnya, jangan pernah menjadikan server Anda sebagai tempat menampung file backup Anda

Cancelled Accounts

Klien membatalkan pada tahun 2008 dan Anda masih menyimpan file situs dan email mereka? Aturannya sederhana: Jika tidak digunakan, jelas itu sudah tidak ada gunanya Anda simpan. Menjaga file-file lama berpotensi membuat server Anda kehabisan disk space.

File Awal Membangun

Sering ditemukan bahwa ketika orang tidak memiliki lingkungan pengembangan yang baik, server menjadi berantakan dengan data lama. Setelah Anda yakin versi baru bekerja, kemudian men-download file backup. Membiarkannya file lama Anda di server dapat menyebabkan Anda kehabisan disk space dan juga membuat server Anda menjadi rentan.

Masalah Disk Space yang lain?

Apakah Anda menemukan penyebab lain yang umumnya menghabiskan disk space? Anda bisa menginfokan ke kami untuk kami masukkan ke daftar kami. Sekian artikel mengenai 5 Tipe Files yang Menghabiskan Disk Space Server Anda. Semoga bermanfaat

 

ASP.NET 4.5.2 Hosting Indonesia – JaringanHosting.com :: Bagaimana Mengkompress Folder Dengan ASP.NET 4.5.2

Terkadang, kita harus menggabungkan beberapa file menjadi satu atau disebut juga mengkompress sebelum kita mengirimnya ke seseorang yang kemudian itu juga akan mempermudah pekerjaan kita. Sebagai contoh, jika kita menggunakan ASP.NET 4.5.2 yang memungkinkan pengguna untuk mendownload beberapa file kita tadi secara bertahap atau mendownload file tersebut satu-satu, lebih baik kita mengkompress atau menggabungkan beberapa file tadi menjadi satu didalam ZIP, yang kemudian akan mempermudah pengguna untuk mendownload hanya sekali tanpa harus mendownload satu-satu atau bertahap. Dengan ini kita juga telah menghemat tanpa harus membuang-buang waktu. Di dalam artikel ini kami akan membagikan sebuah cara sederhana untuk membuat duplikat dari post kita tanpa menggunakan FTP. Di dalam artikel ini kami akan mmemberikan solusi untuk menciptakan sebuah URL yang memungkinkan kita untuk men-download folder tulisan yang dikompress ke dalam ZIP Archive. Untuk melakukan zipping, kami menggunakan DotNetZip yang tersedia sebagai paket nuget dan memiliki bersih API bagus.

ASP.NET 4.5.2 Hosting Indonesia – JaringanHosting.com

Kemudian pada tampilan Razor (misalnya export.cshtml), kode berikut dapat digunakan untuk membuat arsip zip:

Sangat mudah bukan? Pada baris  kode di atas kami juga telah menunjukkan bagaimana untuk menambahkan Readme.txt kustom kita sendiri dengan string. Jika anda lebih suka menambahkan setiap file secara manual, hanya perlu penghitungan file untuk ditambahkan ke zip.AddFiles. Akhirnya,  hal itu mungkinbukan ide bagus untuk membiarkan siapa pun mengaksesnya, sehingga Anda dapat melindungi dengan panggilan sederhana untuk isAuthenticated:
if (User.Identity.IsAuthenticated)