Posts Tagged With: asp hosting murah

ASP.NET 4 Hosting Tips – Mengamankan ASP.NET Pages Anda dengan Form Authentication – C# dan ASP.NET 4

Sekarang ASP.NET 4.5 adalah versi yang terbaru untuk ASP.NET. Namun, kita melihat sedikit ke belakang yaitu ASP.NET 4. Kenapa saya mao bahas ASP.NET 4 hari ini? Karena ada fitur yang sangat menarik di ASP.NET 4 yang tidak boleh dilewatkan pada post ini.

ASP.Net memiliki fitur built-in bernama Form Authentication yang memungkinkan developer dengan mudah mengamankan daerah-daerah tertentu dari sebuah situs web. Dalam posting ini saya akan membangun sebuah sampel otentikasi sederhana menggunakan C # dan ASP.Net 4.0.

Windows ASP.NET Hosting Indonesia

Pengaturan keamanan dengan ASP.Net dikonfigurasi dari dalam file web.config. Ini adalah file ASCII standar, dengan format XML, yang terletak di root aplikasi web Anda. Berikut ini adalah file web.config contoh:

<configuration>
    <system.web>
        <authentication mode="Forms">
            <forms name="TestAuthCookie" loginUrl="login.aspx" timeout="30">
                <credentials passwordFormat="Clear">
            <user name="user1" password="pass1"/>
            <user name="user2" password="pass2"/>
        </credentials>
        </forms>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>
    <compilation targetFramework="4.0"/>
    <pages controlRenderingCompatibilityVersion="3.5" ClientIDMode="AutoID"/>
    </system.web>
</configuration>

Baris pertama adalah standar untuk file web.config dan tidak memiliki bantalan pada keamanan.

Bagian berikutnya menetapkan bahwa Anda mengkonfigurasi keamanan untuk aplikasi web ini. Pertama kita mengatur mode otentikasi untuk menggunakan cookie dalam contoh khusus ini. Anda dapat menentukan nama yang unik untuk cookie. Bagian ini juga menentukan halaman atau URL yang akan berisi kode otentikasi (login.aspx dalam kasus ini) dan berapa lama cookie otentikasi harus bertahan.

Dua baris berikutnya menentukan username dan password yang valid untuk aplikasi web ini. Sejauh yang saya tahu tidak ada batasan untuk jumlah akun pengguna Anda dapat menempatkan di web.config, tetapi jika ada sejumlah besar – atau jika mereka sering berubah – mungkin lebih baik untuk menempatkan informasi ini dalam sebuah file eksternal seperti database atau file XML, bukan (saya akan menunjukkan hal ini dalam artikel mendatang).

Sekarang kita telah menentukan beberapa account logon yang valid, kita harus benar-benar menentukan bahwa kita ingin melindungi password. Untuk contoh ini saya telah memutuskan untuk melindungi sandi seluruh situs web mulai dari akar, sehingga atribut opsional tidak akan digunakan. Kami menetapkan otorisasi untuk menyangkal semua pengguna non-otentik (menolak pengguna = “?”).

Itu semua diperlukan untuk file config.web. Jika seseorang mencoba untuk mengakses situs dan pengguna tidak sudah dikonfirmasi, mereka akan diarahkan ke halaman login.aspx.

Ini hanya setengah proses yang diperlukan sekalipun. Kita sekarang perlu untuk membuat halaman login.aspx untuk benar-benar memungkinkan pengguna untuk otentikasi ke aplikasi kita.

Berikut adalah sumber lengkap dari halaman login.aspx sampel:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" %>
<html>
<head runat="server"><title>Sample</title><head>
<body>
    <form id="form1" runat="server">
        Username: <asp:TextBox ID="txtUsername" runat="server" /><br>
        Password:<asp:TextBox ID="txtPassword" runat="server" /><br>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Login" /><br>
        <asp:Label ID="lblStatus" runat="server" Text="Please login" />
    </form>
</body>
</html>

Berikut ini adalah complete source-nya:

using System;
using System.Web.UI.WebControls;
using System.Web.Security;
public partial class Default3 : System.Web.UI.Page
{
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FormsAuthentication.Authenticate(txtUsername.Text, txtPassword.Text))
        {
            lblStatus.Text = ("Welcome " + txtUsername.Text);
            FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
        }
        else
        {
            lblStatus.Text = "Invalid login!";
        }
    }
}

Mari kita melihat halaman login.aspx pertama. Ini merupakan HTML format yang cukup lurus, tetapi bukan tag HTML yang sebenarnya, melainkan ASP.Net kontrol HTML yang akan membuat halaman HTML ke browser klien (Anda bisa membedakan karena runat = “server” tag pada pada kontrol). Ini adalah bentuk yang menerima username dan password. Ketika tombol submit diklik, halaman ini mengeksekusi kode dalam halaman login.aspx.cs terletak di subroutine bernama “Button1_Click”.

Di dalam metode Button1_Click kita menggunakan objek FormsAuthentication. Baris pertama sub sebenarnya melewati username dan password yang dimasukkan ke objek, yang pada gilirannya membandingkan informasi ini dengan nilai-nilai di file web.config. Jika nilai cocok, maka perubahan baris berikutnya label (hanya agar kita bisa melihat secara visual bahwa hal itu bekerja) kemudian menulis cookie untuk browser dan redirect pengguna kembali ke URL asli yang diminta. Nilai kedua yang terdaftar (“true”) memberitahu browser untuk bertahan cookie. Jadi, jika pengguna ini mengotentikasi, menutup browser mereka, membuka lagi, dan mencoba https, maka mereka masih akan dikenali/authenticate.

Jika username dan password yang dimasukkan tidak cocok, pesan kesalahan ditampilkan ke layar dan pengunjung diperbolehkan untuk memasukkan username dan password baru untuk mencoba lagi.

Ini adalah contoh sederhana dan saya tidak menutupi salah satu konfigurasi lanjutan atau pilihan, tetapi dengan kode contoh ini, Anda harus memiliki dasar untuk bekerja dengan jika Anda ingin menerapkan keamanan di ASP.Net.

Advertisements
Categories: ASP.NET | Tags: , , , , , , , | 4 Comments

ASP.NET Hosting Tips :: Tip-Tip URL Rewriting

Pada kesempatan terakhir, saya telah membicarakan URL Routing di ASP.NET 4.0. Tutorial kali ini mungkin sedikit agak panjang lebar dan saya harap Anda tidak bosan dengan blog saya. Tutorial hari ini akan berpusat pada tips apa saja yang dilakukan untuk melakukan URL Rewrite supaya SEO Anda itu bagus di google dan web Anda mempunyai ranking yang bagus di google. Semua setting ini dapat Anda lakukan di IIS 7 Anda dan juga web.config Anda. Tetap untuk alasan lebih simple, saya akan memberitahu code yang dipakai di web.config Anda.

Windows ASP.NET Hosting Indonesia

Untuk memulai, tambahkan new section seperti di bawah ini:

<rewrite>
<rules>
</rules>
</rewrite>

Tips 1: Tambahkan atau Hilangkan Trailing Slash

Trailing slash dalam URL menciptakan situasi yang menyebabkan google mengingat URL yang berbeda dan membagi peringkat, misalnya ada banyak perbedaan dalam: http://abc.com dan http:/abc.com/

Ini dapat diperbaiki dengan menambahkan aturan penulisan ulang yang secara otomatis mengarahkan pengguna ke pengaturan standar yaitu dengan atau tanpa garis miring. Saya akan mendaftarkan keduanya dan Anda yang memutuskan untuk memilih yang mana. Jadi mari kita mulai dengan aturan untuk Slash ada di bawah tag <rule> didefinisikan di atas.

<rule name="Remove Trailing Slash" stopProcessing="true">
<match url="(.*)/$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{URL}" pattern="WebResource.axd" negate="true" />
<add input="{URL}" pattern="ScriptResource.axd" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>

Tambahkan Add the slash di akhir:

<rule name="Add trailing slash" stopProcessing="true">
<match url="(.*[^/])$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="{R:1}/" />
</rule>

Tips 2: Default Document Rewrite

Untuk pengguna ASP.NET seperti saya ini, maka akan terlihat sama http://abc.com dan http://abc.com/default.aspx karena keduanya terikat untuk menampilkan konten yang sama, bukan? tetapi untuk mesin pencari/google, hal ini akan menampilkan hasil yang berbeda. Untuk menetapkan aturan bahwa siapa pun yang mengunjungi http://abc.com/default.aspx harus otomatis di-direct ke http://abc.com. Inilah tips-nya.

Tips 3: Casing URL

Yap, memang sangat penting untuk menentukan URL Anda, apakah itu huruf kecil atau besar, Anda harus seragam dan konsisten sehingga google dapat men-crawl web Anda:

<rule name="Lower Case URLs" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{URL}" pattern="WebResource.axd" negate="true" />
</conditions>
<action type="Redirect" url="{ToLower:{URL}}" />
</rule>

Tips 4: Canonical Hostnames

Anda mungkin telah mencatat situasi di mana beberapa situs terbuka dengan www atau tanpa awalan www. Kadang akan menjadi masalah bagi google karena jika web Anda dapat dikunjungi dengan www atau non-www, google akan menilai web Anda itu sebagai web yang berbeda. Nah, cara fix issue ini adalah sebagai berikut:

<rule name="Cannonical Hostname">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^gamefiz\.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://gamefiz.com/{R:1}" />
</rule>

OK, sekian tutorial mengenai URL rewrite ini. Pastikan web Anda di halaman 1 google. J

Categories: ASP.NET | Tags: , , , , , , , , | Leave a comment

Blog at WordPress.com.