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.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

 

ASP.NET Hosting Indonesia – JaringanHosting.com :: Assembly Binding Redirect Tidak Bekerja

Assembly Binding Redirect adalah mekanisme dari . NETyang memungkinkan pengembang aplikasi yang telah dikompilasi terhadap versi perakitan tertentu sangat bernama untuk swap perakitan dengan versi yang berbeda tanpa mengkompilasi ulang seluruh perakitan. Salah satu metode untuk mencapai tujuan ini adalah dengan menempatkan direktif khusus dalam configuration file.

ASP.NET Hosting Indonesia - JaringanHosting.com

Abaikan .NET Assembly Binding Redirect

Contoh bagian konfigurasi dapat Anda lihat seperti pada kode dibawah ini:

<configuration>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<dependentAssembly>
<assemblyIdentity name=”myAssembly” publicKeyToken=”1234abcd1234abcd”
culture=”neutral” />
<bindingRedirect oldVersion=”1.0.0.0″ newVersion=”1.1.0.0″ />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Meskipun itu hanya untuk bagian konfigurasi yang sederhana, sulit bagi saya untuk memperbaikinya bagian tersebut yang untuk beberapa alasan tampaknyatidak memiliki efek pada .NET runtime. Setelah menggunakan Assembly Binding Log Viewer , sekarang saya akan mencoba mengidentifikasi masalah. Akhirnyasaya berhasil menemukan jawabannya. Saya hanya mengeditnya seperti ini:

<configuration>
<runtime>
<assemblyBinding xmlns=”urn:schemas-microsoft-com:asm.v1″>
<dependentAssembly>
<assemblyIdentity name=”myAssembly” PublicKeyToken=”1234abcd1234abcd”
culture=”neutral” />
<bindingRedirect oldVersion=”1.0.0.0″ newVersion=”1.1.0.0″ />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Dapatkah Anda melihat perbedaan? Huruf “p” dalam “PublicKeyToken” tak sengaja ditulis sebagai huruf kapital, sehingga tidak ada kesalahan yang dilemparkan oleh NET frameworktapi sedikit membuat saya frustasi melihat perintah diatas tidak melakukan apa-apa.

Kesimpulan
Konfigurasi.NET Framework konfigurasi tidak toleran terhadap kesalahan ketik,(konfigurasi tidak akan bekerja) tetapi tidak memperingatkan Anda tentang hal itu. Jika sesuatu tidak bekerja tanpa alasan yang jelas, ini jelas merupakan suatu alasan yang mungkin. Ini mungkin masalah sederhana tetapi Anda mungkin sedikit frustrasi untuk satu kesalahan kecil seperti salah ketik. Pada contoh yang telah saya buat hanya ada beberapa baris, tetapi jika Anda memiliki seratus baris Anda bahkan tidak ingin membuat kesalahan apapun.

 

ASP.NET MVC Hosting Indonesia – JaringanHosting.com :: Cara Mengintegrasikan PayPal Dengan ASP.NET MVC

Setelah pada beberapa waktu yang lalu kami membahas mengenai cara integrasi aplikasi Asp.net di facebook maka kali ini kami akan menjelaskan cara mengintegrasikan payment gateway paypal di ASP.net MVC web application.

Paypal adalah layanan pembayaran online yang mengijinkan seseorang untuk membeli, menerima pembayaran ataupun mengirim dan menerima uang. Untuk mendapatkan layanan ini seseorang harus memasukkan beberapa rincian keuangan ke paypal, misalnya nomor credit card. Pengiriman dapat dilakukan dengan menggunakan mail. Setelah itu transaksinya dikirimkan tanpa mengungkapkan rincian keuangan, cukup hanya dengan email address dan password.

 

Read more

 

ASP.NET 4.5.2 Hosting Indonesia – JaringanHosting.com :: Tips Mengatasi error “Validation of viewstate MAC failed”

Pada hari ini kami akan membahas mengenai error “validation of viewstate MAC failed” pada ASP.NET 4.5.2. Pada umumnya situs berjalan dengan baik dan tidak mengalami gangguan jika digunakan secara biasa. Errornya muncul hanya jika meload page, ditinggal pergi, dan lalu melanjutkan bekerja tanpa me-reload ataupun me-refresh page tersebut. kami menemukan gangguan ini saat membuka situs,  menggunakannya, ditinggal untuk makan siang, lalu kembali lagi sejam, kemudian saya melanjutkannya dan hal tersebut menyebabkan postback.hal tersebutlah yang serta merta mendatangkan error diatas.

ASP.Net 4.5.2 Hosting Indonesia - JaringanHosting.com

Akan tetapi untuk mengambalikan error tersebut, kami harus menunggu sebentar, hal tersebut sangat tidak nyaman untuk melakukan testing/troubleshooting. Setelah sejam burkutat akhirnya kami menemukan solusi permasalahannya.

Pesan error:

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

Solusi:

walaupun permasalahan lainnya yang cukup menggoda di ASP.NET untuk pada pengembang. Namun solusinya cukup sederhana.

Tambahkan link berikut dalam file web.config anda.

<pages enableEventValidation=”false” viewStateEncryptionMode=”Never” />

baris tersebut harus dimasukkan dalam section

ATAU

Jika kamu tidak menginginkan solusi ini untuk diterapkan dalam project level, maka kamu dapat memasukkan attribute berikut kedalam page (halaman paling atas di HTML View) langsung kedalam halaman yang menimbulkan masalah.

Hal tersebut berarti kamu harus memasukkan enableEventValidation=”false” viewStateEncryptionMode=“Never”  kedalam page directive

Ingin mendapatkan Joomla Hosting Murah, Terbaik dan Berkualitas?

JaringanHosting.com adalah provider ASP.NET dan Windows hosting No #1 di Indonesia sesuai dengan rekomendasi dari pihak Microsoft, selain itu JaringanHosting.com juga menyediakan hosting murah dan berkualitas yang mendukung Joomla hosting. Microsoft memberikan rekomendasi ini berdasarkan pada beberapa persyaratan utama, yaitu: WebMatrix, WebDeploy, Visual Studio 2012, ASP.NET 4.5.2, ASP.NET MVC 5.0, Silverlight 5, Visual Studio Lightswitch, dan Drupal Hosting Indonesia,  Untuk keterangan lanjutan, silahkan klik disini!
 

ASP.NET 4.5.2 Hosting Indonesia bersama JaringanHosting.com :: Cara Schedule Background Jobs Menggunakan QueueBackgroundWorkItem pada ASP.NET 4.5.2

ASP.NET baru-baru ini merilis versi terbarunya yaitu .NET 4.5.2. Pada versi terbarunya ini ASP.NET mendukung HostingEnvironment.QueueBackgroundWorkItem method ini ditemukan dalam namespace System.Web.Hosting. Pada kesempatan ini saya akan menunjukkan bagaimana Anda dapat menggunakannya untuk menjadwalkan item pekerjaan latar belakang dalam aplikasi ASP.NET.
banner-jarhost-2_zps2ea5225d

Metode HostingEnvironment.QueueBackgroundWorkItem memungkinkan Anda menjadwalkan item pekerjaan latar belakang yang kecil. ASP.NET mencegah IIS untuk mengakhiri proses pekerja secara tiba-tiba sampai semua item pekerjaan latar belakang telah selesai.

Alasan untuk menggunakan QueueBackgroundWorkItem adalah Anda tidak perlu khawatir tentang proses pada IIS yang berhenti sebelum waktunya.

Dasar Penggunaan Metode QueueBackgroundWorkItem
Metode QueueBackgroundWorkItem mendefinisikan dua overloads, yang masing-masing menerima satu parameter. Anda dapat melewati salah satu jenis delegasi berikut:
Action
Func<CancellationToken, Task>

Berikut adalah bagaimana Anda bisa melewati ekspresi lambda untuk overload pertama:
HostingEnvironment.QueueBackgroundWorkItem(cancellationToken =>
{
// Some long-running job
});

HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =>
{
var result = await LongRunningMethodAsync();

// Do something with result
// …
});

private void QueueWorkItem()
{
Func workItem = LongRunningMethodAsync;
HostingEnvironment.QueueBackgroundWorkItem(workItem);
}

private async Task LongRunningMethodAsync(CancellationToken cancellationToken)
{
// Some long-running job
}

Berikut adalah contoh yang lebih lengkap tentang bagaimana QueueBackgroundWorkItem dapat digunakan dalam controller ASP.NET MVC. Setelah menciptakan beberapa model, controller register item pekerjaan latar belakang yang membuat panggilan (berpotensi) lama berjalan ke API remote:
public class FooController : Controller
{
[HttpPost] public ActionResult Create(FooInputModel input)
{
// Process the input somehow
// ...

Action workItem = PostToRemoteService;
HostingEnvironment.QueueBackgroundWorkItem(workItem);

return View();
}

private async void PostToRemoteService(CancellationToken cancellationToken)
{
using (var client = new HttpClient())
{
var response = await client.PostAsync(“http://example.com/endpoint”,
new StringContent(“…”), cancellationToken);

// Do something with response
// …
}
}

// More action methods
// …
}

 

ASP.NET Cloud Hosting bersama JaringanHosting.com :: Cara Mengenkripsi dan Deskripsi Sandi Menggunakan ASP.NET

Enkripsi adalah proses menerjemahkan data teks biasa menjadi sesuatu yang tampaknya acak dan tak berarti. Dekripsi adalah proses menerjemahkan data acak dan tidak berarti ke teks biasa. Mengapa kita perlu menggunakan proses Enkripsi dan Dekripsi? Dengan menggunakan proses ini kita dapat menyembunyikan data asli dan menampilkan beberapa data sampah, berdasarkan ini kita dapat memberikan keamanan pada data kita. Di sini saya akan menjelaskan cara untuk mengenkripsi data dan cara untuk menyimpan data ke dalam database. Setelah itu saya akan menunjukkan cara untuk mendekripsi data terenkripsi dalam database dan cara untuk menampilkan data terdekripsi pada form. Saya memiliki form dengan empat fileds yang terdiri dari: nama-pengguna, password, nama depan, dan nama belakang di sini saya akan meng-enkripsi data password dan menyimpan data tersebut ke dalam database. Setelah itu saya akan mendapatkan data dari database dan mendekripsi data password terenkripsi tersebut, serta menampilkan data menggunakan gridview.

drupal hosting jaringanhosting.com

Masukkan kode sintaks berikut ini:
code1

code2

code3

Setelah itu tambahkan System.Text namespace dalam kode belakang karena dalam namespace ini berisi kelas yang mewakili ASCII dan pengkodean karakter Unicode. Setelah itu tambahkan kode berikut dalam kode belakang dan desain satu tabel dalam database dengan empat bidang dan beri nama sebagai “SampleUserdetails”.

private const string strconneciton = "Data Source=MYCBJ017550027;Initial Catalog=MySamplesDB;Integrated Security=True";
SqlConnection con = new SqlConnection(strconneciton);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindencryptedData();
BindDecryptedData();
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string strpassword = Encryptdata(txtPassword.Text);
con.Open();
SqlCommand cmd = new SqlCommand("insert into SampleUserdetails(UserName,Password,FirstName,LastName) values('" + txtname.Text + "','" + strpassword + "','" + txtfname.Text + "','" + txtlname.Text + "')", con);
cmd.ExecuteNonQuery();
con.Close();
BindencryptedData();
BindDecryptedData();
}
protected void BindencryptedData()
{
con.Open();
SqlCommand cmd = new SqlCommand("select * from SampleUserdetails", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
gvUsers.DataSource = ds;
gvUsers.DataBind();
con.Close();
}
protected void BindDecryptedData()
{
con.Open();
SqlCommand cmd = new SqlCommand("select * from SampleUserdetails", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
gvdecryption.DataSource = ds;
gvdecryption.DataBind();
con.Close();
}
private string Encryptdata(string password)
{
string strmsg = string.Empty;
byte[] encode = new byte[password.Length];
encode = Encoding.UTF8.GetBytes(password);
strmsg = Convert.ToBase64String(encode);
return strmsg;
}
private string Decryptdata(string encryptpwd)
{
string decryptpwd = string.Empty;
UTF8Encoding encodepwd = new UTF8Encoding();
Decoder Decode = encodepwd.GetDecoder();
byte[] todecode_byte = Convert.FromBase64String(encryptpwd);
int charCount = Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
decryptpwd = new String(decoded_char);
return decryptpwd;
}
protected void gvdecryption_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string decryptpassword = e.Row.Cells[2].Text;
e.Row.Cells[2].Text = Decryptdata(decryptpassword);
}
}

Maka hasil yang akan didapatkan adalah sebagai berikut:
output

 

ASP.NET Hosting – JaringanHosting.com :: Konfigurasi ASP.NET untuk mengirim Email

Bagaimana Cara ASP.NET Mengirim Mail ?

Salah satu penggunaan yang paling umum sebuah website adalah mengirim email. Mengirim email dari sebuah situs web yang digunakan, menjadi tugas yang bisa dibilang cukup kompleks dan sulit. Dalam artikel ini, Anda akan melihat dua kelas yang berbeda dari .NET Framework yang digunakan untuk mengirim email dengan ASP.NET. Kelas System.Net.SmtpClient dan dan kelas System.Net.MailMessage.

Banner

The System.Net.SmtpClient Kelas
The SmtpClient kelas memfasilitasi pengiriman email dengan Simple Mail Transfer Protocol atau SMTP. Kelas SmtpClient digunakan untuk menghubungkan aplikasi ASP.NET Anda ke jaringan (baik internet atau jaringan lain) dan mengotentikasi Anda (jika perlu) ke SMTP mail server. Disinim, kami akan menggunakan beberapa properti dari kelas SmtpClient untuk terhubung ke server SMTP pada jaringan:

  • Host Property : Host property digunakan untuk menentukan nama server SMTP yang terhubung dengan Anda.
  • Port Property: Setiap sambungan pada jaringan terjadi melalui saluran tertentu pada jaringan yang disebut port. Komunikasi SMTP terjadi pada port 25 secara default . Default port property adalah 25 , tetapi jika server SMTP Anda memerlukan port yang berbeda , Anda dapat menentukan bahwa dapat menggunakan Port Property.

Tip : Ini biasa bagi server SMTP untuk tidak menggunakan port 25 . Tanyakan pada administrator jaringan, ISP , atau perusahaan hosting jika Anda tidak yakin port apa yang digunakan untuk server SMTP .

  • Credentials Property : Kebanyakan SMTP server mengharuskan Anda memberikan username dan password atau mengotentikasi diri sendiri sebelum Anda dapat mengirim email . Beberapa server SMTP ( biasanya pada jaringan perusahaan ) memungkinkan Anda untuk menggunakan kredensial akun dan menjalankan kode ASP.NET Anda . Dalam kasus tersebut, Anda dapat menentukan untuk menggunakan kredensial default dalam aplikasi web ini. Namun dalam contoh ini, kami akan menentukan username dan password.

The System.Net.MailMessage Class

Kelas MailMessage menandakan pesan yang dikirim. Daftar berikut menunjukkan beberapa properti dari kelas MailMessage:

  • To-Alamat email tujuan untuk pesan.
  • From-Alamat email pengirim.
  • Cc-Alamat email yang muncul pada baris CC.
  • Bcc-Alamat email yang muncul pada baris BCC.
  • Subjek-Subjek email itu.
  • Lampiran-Daftar lampiran file yang disertakan dengan email.
  • IsBodyHtml- Properti Boolean yang menentukan apakah property Body menggunakan kode HTML atau tidak.
  • Body- Isi email yang dikirim. Ini adalah teks aktual dari pesan email.

Setelah Anda mengatur properti dari kelas MailMessage , Anda memanggil metode Send dan kelas SmtpClient yang digunakan  untuk mengirim pesan .

Memodifikasi Configuration File untuk internal Email Settings

Dalam aplikasi ASP.NET dunia nyata , Anda mungkin mengirim email dari banyak halaman dalam aplikasi Anda . Jika properti SMTP ( seperti nama server, username, password , dan sebagainya ) berubah, tidak efisien jika harus membuat perubahan pada setiap halaman yang akan dikirim email. Untungnya , banyak sifat dari kelas SmtpClient yang dapat ditentukan dalam configuration file untuk aplikasi ASP.NET Anda . Jika Anda menetapkan properti di configuration file , Anda harus memodifikasi hanya configuration file saja. Jika salah satu dari mereka berubah dan semua halaman yang dikirimi email, secara otomatis akan menggunakan pengaturan baru .

Tip : Jika Anda menentukan pengaturan Anda di kode sisi server yang sudah ditentukan dalam configuration file , pengaturan yang Anda tetapkan dalam kode akan menimpa pengaturan dalam configuration file.

Menambahkan Konfigurasi Email ke web.config file
Konfigurasi Mail ditentukan di bagian <system.net> dari file web.config . File web.config tidak berisi bagian <system.net> secara default , sehingga Anda perlu menambahkan satu .

Buka aplikasi web dan kemudian buka file web.config di Visual Web Developer . Tambahkan kode berikut ke file web.config secara langsung sebelum elemen pembukaan <system.web> yang :

Tip : Pengaturan yang Anda tentukan untuk server SMTP Anda adalah pengaturan sama yang Anda gunakan di email client Anda untuk mail server keluar untuk domain Anda . Perusahaan hosting Anda mungkin memiliki instruksi untuk mengatur email client di situs web mereka yang dapat Anda gunakan untuk menemukan pengaturan untuk configuration file Anda .

Menggunakan Perangkat Administrasi Situs Web
Anda juga dapat menggunakan Administration Tool Web Site untuk mengkonfigurasi pengaturan SMTP Anda . Administrasi Perangkat Situs Web memungkinkan Anda untuk menambahkan dan mengubah pengaturan SMTP dan meminimalkan kemungkinan kesalahan karena konfigurasi yang salah atau kesalahan ketik .

Tip : Bila menggunakan Web Site Administration Tool untuk mengkonfigurasi pengaturan SMTP . Semua entri adalah opsional . Jika Anda tidak memberikan nilai untuk properti yang diperlukan dalam file konfigurasi , Anda perlu memberikan dalam kode ASP.NET pada sisi server Anda .

Untuk menggunakan Administration Tool Web Site, konfigurasi pengaturan SMTP Anda dengan  ikuti langkah berikut :

1. Buka website Anda dan klik tombol ASP.NET Configuration di bagian atas jendela Solution Explorer

2. Klik tab Application atau link Application Configuration di Web Site Administration Tool.

3. Klik link Configure SMTP Setting Email pada halaman Penerapan Administration Tool Web Site.

4. Masukkan nama server SMTP, seperti yang ditunjukkan pada Gambar 1.

5 . Masukkan port jika perlu . Dalam kebanyakan kasus , nilai default 25 tidak harus diubah .

6 . Masukkan alamat email di dari kotak teks jika diinginkan . Alamat email yang Anda masukkan di sini akan muncul sebagai pengirim email yang mengirimkan dari ASP.NET .

7 . Pilih metode otentikasi . Pilih Tidak jika server SMTP Anda tidak memerlukan otentikasi . Pilih Basic jika server SMTP Anda memerlukan otentikasi yang berbeda dari kredensial account yang kode ASP.NET0nya Anda gunakan . Pilih NTLM jika Anda ingin menggunakan kredensial akun dan menjalankan kode ASP.NET Anda .

8 . Klik Save untuk menyimpan pengaturan konfigurasi ke file web.config dalam aplikasi Anda .

Setelah Anda mengklik Simpan , Administrasi Perangkat Situs Web update otomatis ke file web.config Anda dengan perubahan dan segera berlaku .

Apa Yang Terjadi Ketika File Konfigurasi  Tersimpan?
Setiap aplikasi ASP.NET berjalan di dalam area khusus dalam memori yang disebut application domain. Tujuan dari domain aplikasi adalah untuk menyediakan isolasi antara aplikasi ASP.NET yang berbeda . Aplikasi domain memastikan bahwa satu aplikasi ASP.NET tidak mengakses aplikasi ASP.NET lain .

Ketika sebuah domain aplikasi dijalankan , ASP.NET membaca informasi dalam configuration file untuk mengatur domain aplikasi . Kmudian mulai memantau folder dan file tertentu dalam aplikasi untuk perubahan. Jika perubahan terdeteksi , ASP.NET menutup domain aplikasi dan restart lagi sehingga setiap perubahan akan berlaku .

Ketika Anda membuat modifikasi ke file web.config aplikasi (baik dengan langsung memodifikasi file atau dengan memodifikasi secara tidak langsung dengan alat seperti Administration Tool Web Site ) , ASP.NET segera mendaur ulang kolam aplikasi sehingga konfigurasi baru berlaku segera ke aplikasi.

Contoh Kode untuk mengirim Email di ASP.NET tanpa pengaturan web.config ASP.net:

Contoh Kode untuk mengirim email di ASP.NET dengan web.config <mailsettings>
try

{
MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.To.Add(userEmailAddress);
mailMessage.Subject = "Subject";
mailMessage.Body = "Body Text";
var smtpClient = new SmtpClient();
smtpClient.Send(mailMessage);
return "Mail send successfully";
}
catch (SmtpException ex)
{
return "Mail send failed:" + ex.Message;
}
Petunjuk MainSettings untuk web.config

 

ASP.NET Hosting – JaringanHosting.com :: Matikan ASP.NET Custom Error pada Web.config

Kadang, setelah kita hosting suatu web pada server, kita mendapatkan error yang tak diduga. Namun, kita mendapatkan pesan untuk error tersebut. Pada postingan kali ini, saya ingin berbagi bagaimana cara kita mendapatkan pesan untuk unexpected error. Coba lihat pesan error ASP.NET pada gambar di bawah ini.
 ASP.NET Hosting - JaringanHosting.comJenis kesalahan tak terduga ini dapat terjadi pada server lokal ataupun remote. Dalam ASP.NET, kita dapat menemukan pesan kesalahan yang tepat dengan pengaturan mode = “Off” dengan tag customErrors di web.config aplikasi kita. Ini adalah cara dimana kita dapat mengetahui kesalahan yang tepat dalam aplikasi web.<system.web>
<customErrors mode=”Off”>
</customErrors>


</system.web> ASP.NET Hosting - JaringanHosting.comKetika kita mengatur customErrors mode=”Off, maka kita dapat dengan mudah melacak error pada aplikasi seperti pada gambar dibawah ini.disableerror1Di ASP.NET, ada tiga mode kesalahan untuk melacak kesalahan. Mode ini memutuskan apakah pesan kesalahan akan ditampilkan atau tidak. Modus RemoteOnly adalah modus default untuk menampilkan pesan error.

  1. OFF Mode. Mode ini bertanggung jawab untuk menampilkan error mesage pada server lokal dan remote jika terjadi kesalahan.
  2. ON Mode.  Mode ini bertanggung jawab untuk menampilkan halaman custom error dengan pesan pada server lokal dan remote jika terjadi kesalahan. Dengan menggunakan mode ini, kita dapat menunjukkan halaman pesan kesalahan kustom kita sendiri untuk kesalahan tertentu pada server lokal dan remote.
  3. RemoteOnly. Mode ini bertanggung jawab untuk menampilkan error mesage pada remote server hanya dalam kasus error. Dengan menggunakan mode ini, kita dapat menunjukkan halaman pesan kesalahan kustom kita sendiri untuk kesalahan tertentu pada remote server saja.

JaringanHosting.com adalah provider ASP.NET dan Windows hosting No #1 di Indonesia sesuai dengan rekomendasi dari pihak Microsoft. Microsoft memberikan rekomendasi ini berdasarkan pada beberapa persyaratan utama, yaitu: WebMatrix, WebDeploy, Visual Studio 2012,ASP.NET 4.5ASP.NET MVC 4.0, Silverlight 5 and Visual Studio Lightswitch.Untuk keterangan lanjutan, silahkan klik disini!

 

ASP.NET Hosting – JaringanHosting.com :: Bagaimana Cara Membuat Session Variable pada ASP.NET

Berikut akan saya jelaskan cara membuat session variabel pada ASP.NET yang bisa kalian terapkan pada ASP.NET Hosting.

1. Pertama-tama Tentukan sebuah web ASP.NET

2. Buat dua halaman dalam situs tersebut . Halaman pertama akan berisi sebuah Web Form ASP.NET yang akan dikirim kembali ke dirinya sendiri dan kemudian mengarahkan ke halaman kedua .

Catatan : Alasan menggunakan dua halaman adalah untuk membuktikan bahwa session variabel  tersedia untuk halaman kedua , ketiga, keempat , dll di situs web . Variabel permintaan , yang merupakan alternatif untuk variabel sesi , tidak dapat dibawa dari sebuah Web Form ASP.NET pada satu halaman ke halaman kedua.

3.Halaman pertama harus ada ASP.NET Web Form yang berisi satu DNS server dan Server kontrol . ” ID ” atribut dari kontrol textbox harus di set ke ” txtFirstName ” . Kode penuh untuk halaman pertama tersedia di bawah ini . Pilih salah satu bahasa pemrograman, C # atau VB , tergantung pada bahasa yang Anda pilih untuk situs ASP.NET Anda :

banner-jarhost-square

ASP.NET (C#) – Page 1

4. Di halaman kedua, akses tampilan kode dengan memilih View> Code, dan masukkan kode di bawah ini untuk menulis variabel session ke halaman. Sekali lagi, pilih salah C # atau VB, tergantung pada bahasa yang Anda pilih untuk situs ASP.NET Anda:

ASP.NET (C#) – Page 2

Dan untuk Code dibalik halaman tulis sebagai:

Simpan, Publish dan Test  kedua halaman tersebut. Jika Anda tidak mendapatkan hasil yang diharapkan, periksa penulisan huruf kapital dan ejaan dari server controls, session variabel dan variabel permintaan.

Bagaimana cara untuk mengambil session ID pada ASP.NET?

Menggunakan session variables sangat nyaman dan biasanya diperlukan untuk mengurus state dari halaman ke halaman. Namun, jika Anda ingin menyimpan session state variable dalam database untuk beberapa alasan seperti memastikan sesuatu yang terlihat hanya ketika session aktif (misalnya pada posting diskusi, misalnya Anda ingin supaya suatu postingan dapat terlihat oleh orang yang mengirim posting, selama mereka sedang ada pada session tetapi tidak terlihat bagi orang lain, sebelum Administrator menyetujui postingan Anda. Berikut adalah kode untuk mendapatkan SessionID tersebut.

JaringanHosting.com adalah provider ASP.NET dan Windows hosting No #1 di Indonesia sesuai dengan rekomendasi dari pihak Microsoft. Microsoft memberikan rekomendasi ini berdasarkan pada beberapa persyaratan utama, yaitu: WebMatrix, WebDeploy, Visual Studio 2012,ASP.NET 4.5, ASP.NET MVC 4.0, Silverlight 5 and Visual Studio Lightswitch.Untuk keterangan lanjutan, silahkan klik disini!