method etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
method etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

13 Mart 2022 Pazar

WebDAV Method Kullanımı

                                                                                     


    WebDAV (RFC 4918) kaynakların dağıtılmış olarak yazılması ve versiyonlaması için HTTP'nin bir uzantısıdır. Bu uzantı HTTP yi genişletir ve dosya , belgeleri yönetmek için bir dizi HTTP yönetimi ve başlığını belirtir. Bu protokol aşağıdaki uzantın yöntemlerini içerir. 

PROPFIND : 
WebDAV belgelerin özellikleri olabilir ve istemciler bu özellikleri anlamak için bu yöntemi kullanır.
PROPATCH:
İstemciler, kaynakların özelliklerini ayarlamak, eklemek, kaldırmak için bu yöntemi kullanır.

MKCOL
WeDAV belgeleri koleksiyonlar halinde gruplandırmanıza olanak tanır, müşteri bu yöntem ile yeni bir koleksiyon oluşturmak için kullanabilir.

KOPYALA
İstemciler, bir hedef URL belirliği bir kaynağın bir kopyasını oluşturmak için bu yöntemi kullanabilir.

MOVE:
Bu kopyaya benzer ancak sunucunun bu işlemin bir parçası olarak kaynak, kaynağın silinmesi beklenir.

LOCK:
Bu yöntem istemcilerin belirli belgeyi kilitlemesini sağlar. Bu yöntem kötümser eşzamanlılık kontrolünü sağlar.

UNLOCK:
İstemciler önceden kilitlenmiş bir kaynağın kilidini açmak için bu yöntemi kullanabilir.

WebDAV yönteminin "dosya merkezli" işlemler olduğuna dikkat etmek gereklidir.  Kaynakların kolayca kopyalanabilen, üzerine yazılabilen, yeniden adlandırılabilen v.b dosya nesneleri olduğunu varsayarlar.  Ancak çoğu RESTfull web hizmetlerinde kaynaklar dosya değildir ve böyle bir dosya merkezli görünüm genellikle uygulama kaynaklarıyla kolayca eşleşemez.

WebDAV  genellikle belirli bir uygulama etki alanlarının ihtiyaçlarını karşılamak için HTTP nin nasıl genişletileceğinin bir örneği olarak gösterilir. WebDAV uzantıları istemcilerin uzak sunuculardaki belgeleri veya dosyaları düzenlemesine, yönetmesine izin verecek şekilde tasarlanmıştır. Bir kaynağı kopyalamak için örnek;

# Request to copy a resource
COPY /report/working/2010.pdf HTTP/1.1
Host: www.example.org
Destination: http://www.example.org/projections/2010.pdf

# Response
HTTP/1.1 201 Created

İstekte, istemci bir hedef başlığı aracılığıyla kopyanın hedefini seçer. İstemci bu yöntemi özellikler veya koleksiyonlar gibi diğer WebDAV kaynaklarına uygulayabilir. İstemci ayrıca sunucunun bir overwrite üstbilgisi sağlayarak hedef URL de var olan herhangi bir kaynağı geçersiz kılması gerekip gerekmediğini veya bir koleksiyonu kopyalarken derinliği belirtmek için bir Derinlik üstbilgisi belirtebilir.

# Request to copy a resource
COPY /report/working/2010.pdf HTTP/1.1
Host: www.example.org
Destination: http://www.example.org/projections/2010.pdf

Overwrite: F

# Response
HTTP/1.1 201 Created

Benzer şekilde bir kaynağı bir konumdan başka bir konuma taşımak için MOVE yöntemini kullanabilirsiniz.

# Request
MOVE /report/working/2010.pdf HTTP/1.1
Host: www.example.org
Destination: http://www.example.org/projections/2010.pdf

# Response
HTTP/1.1 201 Created
Location: http://www.example.org/archives/this-resource

Hem COPY hemde MOVE yöntemleri atomiktir ve sunucular arasındaki kaynaklara bile uygulanabilir. Örneğin; fiili taşıma işlemi kaynak sunuculardan bir veya daha fazla kaynağın hedef sunucuya yerleştirilemesi ve ardından kaynak sunuculardaki kaynakların kaldırılması gerektirebilir. Sunucu kaynağı yalnızca hedef sunucuda başarılı çoğalttığında kaldırabilir.  Bu yöntemler ayrıca istemcilerin sunucular arasında kaynakları  kilitleme, kilidini açma ve hatta kopyalama gibi ayrıntılarla ilgilenmesini gerektirir.


7 Şubat 2021 Pazar

İstemcilerin Kimlik Doğrulamasında Özet Kimlik Doğrulama

 Temel kimlik doğrulamaya benzer istemcinin kimlik bilgilerinin özetini sunucuya göndermesi dışında yeniden kimlik gönderim saldırılarını önlemek için mekanizmaları sağlar.

İstemci erişim için bir Yetkilendirme başlığı eklemeden bir istek gönderdiğinde korumalı kaynak dönüş kodu olarak 401 ile birlikte özet kimlik doğrulama şemasında bilgiler alır. Bu bilgiler bir kez yada sınırlı sayıda alınabilen bilgilerdir.

Sağlanan özetin içerisinde depolanan kimlik bilgilerinin bir özetiyle eşleştiğini doğruladıktan sonra Authentication-Info başlığı ekleyin. Bu bilgi sunucu tarafında eşdeğerdir.

İstemciler genel olarak özeti hesaplamak için MD5 kullanır. Temel kimlik doğrulamasından farklı olarak bu teknik şifrelenmemiş bir paylaşılan sırrı değiş tokuş etmez.


# Request

GET /photos HTTP/1.1

Host: www.example.org

# Response

401 Unauthorized

WWW-Authenticate: Digest realm="Sample app", nonce="6cf093043215da528d7b5039ed4694d3",

         qop="auth"

Content-Type: application/xml;charset=UTF-8

<error xmlns:atom="http://www.w3.org/2005/Atom">

   <message>Unauthorized.</message>

</error>

# Request

GET /photos HTTP/1.1

Host: www.example.org

Authorization: Digest username="photoapp.001", realm="Sample app",

nonce="6cf093043215da528d7b5039ed4694d3",
         uri="/photos", response="89fba5bf5e5f9dd69865258c21860956",
         cnonce="c019e396409afe784ae9f203b8dfdf7e", nc=00000001, qop="auth"
# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset-UTF8

GET /photos HTTP/1.1   > kimlik bilgisi olmayan bir istek;

# Response

401 Unauthorized

WWW-Authenticate: Digest realm="Sample app", nonce="6cf093043215da528d7b5039ed4694d3",

qop="auth" > nonce içeren yanıt

cnonce="c019e396409afe784ae9f203b8dfdf7e", nc=00000001, qop="auth"  > Yanıt yönergesi içeren istek.

Temel kimlik doğrulamasından farklı olarak özet kimlik doğrulaması, istemcinin bir özet sağlaması gerekir.

realm : Sunucudaki korumalı alanı tanımlayan opak bir dize.

nonce: Her 401 Yetkisiz yanıtıyla benzersiz şekilde oluşturulan dize. Bir özet oluştururken bu değeri kullanmaları gerekir. Yeniden isteklerde kullanılan bazı değerlerden daha eski nonce yönergeleri kullanarak yapılan saldırıları içerir.

qop: Özet kimlik doğrulaması yönergeler için iki değer belirtir. Aut ve Auth-int. 

Auth:  Sunucunun istemci kimlik doğrulaması için özet kimlik doğrulaması kullandığını belirtir.

Auth-int: Sunucunun bu kimlik doğrulamasını aynı zamanda isteklerin bütünlüğü Qop = auth-int istemcilerin isteğinin gövdesine özeti hesaplarken ekler. 

*İstemci / Kullanıcı tanımlayıcısının, alanı ve paylaşılan gizli değer aşağıdaki şekilde birleştirin.  MD5 değerini hesaplayın. Değeri : A1 dir.
<identifier>:<realm>:<secret>

*İstek Yönetimini ve istek URL sini <method>:<URI> MD5 ekleyin. Sonucunun A2 olduğunu söyleyin.

*A1, nonce ve A2 yi <A1>:<nonce>:<A2> olarak birleştirin ve MD5 değerini hesaplayın.

Kullanıcı elde edilen değeri yanıt değeri olarak kullanır.

Nonce kullanımında; Sunucular tek seferlik veya sınırlı kullanımlı bir belirteç kullanarak saldırıların yeniden tekrarlanma olasılığını sınırlayabilir.

Tek seferlik veya sınırlı kullanılan biletler, requestlerde sunucunun kullanılan tüm belirteçlerinin günlüğünün tutulması gerekir.

WWW-Autheticate başlığı ayrıca domanin, opaque gibi diğer direktifleri içerebilir.