Securing Web Service Access with Session

Anda pernah membuat web service (.asmx)?

Jika pernah maka salah satu masalah yang harus kita hadapi adalah mencegah orang lain memanfaatkan web service yang telah kita publish.

Karena dengan mengetahui alamat web service, maka daftar nama procedure dan function didalam web service dapat terlihat, begitu juga dengan parameternya.

Berikut ini contoh gambar web service yang penulis buat sebagai contoh :

Securing Web Service Access

Securing Web Service Access

Pada saat klik tombol invoke, maka eksekusi terhadap web service tersebut akan dilakukan. Pada contoh ini penulis tidak menyertakan parameter, anda dapat melihat web service dengan parameter di postingan saya tentang web-service-json-parameter.

Berikut ini gambar setelah kita klik invoke.

Securing Web Service Access

Sekarang anda sudah tahu bahwa web service dapat dengan mudah dieksekusi, bagi siapa saja yang tahu alamat urlnya.
Maka dari itu kita harus melakukan otentikasi terhadap setiap eksekusi terhadapnya.

Berikut adalah salah satu cara untuk melindungi web service yang kita buat, salah satunya adalah dengan mengenablekan parameter session untuk web service, selain itu dapat juga dengan memanfaatkan otentikasi userid dan password yang dilewatkan pada parameter web service untuk kita uji apakah mempunyai otentikasi atau tidak.

Pada contoh kali ini penulis akan beri contoh untuk memanfaatkan session untuk melakukan otentikasi terhadap akses terhadap web service. Berikut ini gambar skrip yang perlu ditambahkan.

Securing Web Service Access

Skrip diatas akan menguji apakah ada session yang sedang aktif atau tidak, jika tidak ada maka dianggap akses terhadap web service tersebut tidak sah. Session tersebut dapat kita peroleh jika user telah login pada aplikasi yang memanfaatkan web service tersebut. Berikut ini code untuk menciptakan session, untuk menguji otentikasi web service.

Securing Web Service Access

Cara pengujiannya adalah, pada saat page load maka semua session yang ada kita destroy kemudian kita coba akses web service tersebut dengan mengeksekusi tombol invoke seperti gambar sebelumnya, dan seperti inilah hasilnya :

Securing Web Service Access

Kemudian kita lanjutkan dengan melakukan klik pada tombol create session untuk menciptakan session dan kita lanjutkan dengan mengakses web service dan melakukan klik terhadap tombol invoke, maka seperti inilah hasilnya :

Securing Web Service Access

Securing Web Service Access


CATATAN :

Pada posting kali ini web service dan aplikasi yang mengaksesnya terletak didalam website yang sama.

Sedangkan pada kenyataanya web service mungkin bisa berada di server yang berbeda sehingga metode diatas tidak efektif.

Metode yang umum digunakan bisa dilihat pada postingan "Securing Web Service Access with SOAP Header"


Semoga postingan "Securing Web Service Access" ini dapat bermanfaat,



Salam.

Popular posts from this blog

SmartObject property ID is a required property for selected method Create. Value must be set.

Cara inject USB 3.0 Driver pada instalasi Windows - How to Inject USB 3.0 Driver in Windows 7

Python Font Color in Console