Şimdi Ara

'input type = file' Güvenliği nasıl kırarım?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
13
Cevap
0
Favori
687
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlarhttps://www.dvlottery.state.gov/application.aspx bu bölümde "Photograph File Name" yazan yerdeki form bölümüne tıkladığımda yazı yazmak istiyorum yani kendim belirtmek istiyorum C:/ vs vs gibi ancak tıkladığım zaman direk dosya seçmemi istiyor.

     'input type = file' Güvenliği nasıl kırarım?


    Bunu nasıl halledebilirim bilmiyorum kaynak koduyla oynadım ancak bir türlü amacıma ulaşamadım.

    Toplu işlem yapacağımdan dolayı o kutucuktaki bölümde dosya seçmekten ziyade direk yazı yazıp amacıma ulaşmak istiyorum.

    Yardımcı olan arkadaşlara şimdiden teşekkürler.







  • ne yazık ki öyle bir şansın yok.
  • quote:

    Orijinalden alıntı: TradeMark

    ne yazık ki öyle bir şansın yok.

    Diyerek insanları yanlış yönlendirmeyelim,

    Bir site üzerinde javascript çalıştırmak basit bişeydir, javascript çalıştırıp kontrolun değerini set edersen sorun çözülür.

    Aynı form için gönderilen POST Headerlarını mimic edersen bir program ile işini otomasyona bağlamış olursun.
  • quote:

    Orijinalden alıntı: sehlor

    quote:

    Orijinalden alıntı: TradeMark

    ne yazık ki öyle bir şansın yok.

    Diyerek insanları yanlış yönlendirmeyelim,

    Bir site üzerinde javascript çalıştırmak basit bişeydir, javascript çalıştırıp kontrolun değerini set edersen sorun çözülür.

    Aynı form için gönderilen POST Headerlarını mimic edersen bir program ile işini otomasyona bağlamış olursun.

    http://stackoverflow.com/questions/1017224/dynamically-set-value-of-a-file-input

    Burada diyor ki "Dosya yükleme girdisinin değeri dinamik olarak ayarlanamaz."
    Yani basitçe Firebug'u açıp, <input>'a yeni öznitelik ekleyip value="c:\dosyam.txt" diyemiyorsun. (hem desen bunun ne anlamı olur ki?)

    Ama bu adresini verdiğin formu submit eden bir otomasyon programı yapıyorsan, sanırım sehlor'un dediği gibi bir "POST mimic" mantığı uygulayabilirsin. Örnek kod istersen açık kaynak tarayıcıların file upload kontrolünü nasıl implement ettiklerine bir göz atmak isteyebilirsin bunun için (bkz. overkill!)

    Belki de "toplu işlem"den ne kastettiğini anlayamadım...




  • quote:

    Orijinalden alıntı: un.real

    quote:

    Orijinalden alıntı: sehlor

    quote:

    Orijinalden alıntı: TradeMark

    ne yazık ki öyle bir şansın yok.

    Diyerek insanları yanlış yönlendirmeyelim,

    Bir site üzerinde javascript çalıştırmak basit bişeydir, javascript çalıştırıp kontrolun değerini set edersen sorun çözülür.

    Aynı form için gönderilen POST Headerlarını mimic edersen bir program ile işini otomasyona bağlamış olursun.

    http://stackoverflow.com/questions/1017224/dynamically-set-value-of-a-file-input

    Burada diyor ki "Dosya yükleme girdisinin değeri dinamik olarak ayarlanamaz."
    Yani basitçe Firebug'u açıp, <input>'a yeni öznitelik ekleyip value="c:\dosyam.txt" diyemiyorsun. (hem desen bunun ne anlamı olur ki?)

    Ama bu adresini verdiğin formu submit eden bir otomasyon programı yapıyorsan, sanırım sehlor'un dediği gibi bir "POST mimic" mantığı uygulayabilirsin. Örnek kod istersen açık kaynak tarayıcıların file upload kontrolünü nasıl implement ettiklerine bir göz atmak isteyebilirsin bunun için (bkz. overkill!)

    Belki de "toplu işlem"den ne kastettiğini anlayamadım...

    Son tarayıcılarda öyle, Internet Explorer 6 ile javascript exploiti uygulayabiliyorsun file input field lara.

    Kaldı ki Firefox 3.x serisinde bunun için eklentiler bile mevcut.

    Biraz araştırınca sorunun çok basit çözüm yolları var, ben sadece yol gösteriyorum ve öneride bulunuyorum




  • Yanlış yönlendirmek için söylemedim. Araştırmadan da söylemedim. file input için nasıl farklı bir arayüz yapılabilir konusunu araştırırken güvenlik gerekçesiyle bu input türüne müdahale edilemediğini de çok kez okudum. (Her ne kadar JS yardımı ile arayüz olayını halletmiş olsam da konu farklı ) Söylediklerim, bildiklerim ve araştırdıklarım dahilindedir. Kesin konuşmayı ve yanlış yönlendirmeyi en az sizin kadar sevmem.

    Kısacası benim genel olarak araştırıp vardığım sonuç file input'a güvenlik gerekçesi ile müdahale etmek mümkün değil. Ayrıca ben böyle bir müdahelenin gerekliliğini ya da mantığını da anlamış değilim zaten. Sonuçta dosya seçmek de aynı hesap. Her neyse, "header mimic" dediğiniz şeyin Content-Type, Content-Disposition gibi header verilerinin taklit edilmesi sanırım. Hiç denk gelmedim ama benim çıkarımım bu. Nasıl yapılır onu da bildiğim söylenemez. İşin kötü tarafı ben de arkadaşın toplu işlemden kastı nedir anlamadım Yorumum doğrudan file input üzerineydi.

    Ayrıca yine stackoverflow adresinden bir alıntı;

    quote:


    The behavior of <input type="file"> elements is very strictly controlled by browsers, and you cannot force them to do anything other than what they want to do. Generally, modern browsers will only allow a file picker to be used for selecting a file for upload. Your Javascript code can't set the value and can't see anything more than the tail file name (the name without prefixing directory names).


    Not: Aklıma gelmişken, IE6 konusunda haklı olabilirsiniz. Zamanında IE6'nın bu tür bir müdahaleye açık olduğuna şahit olmuştum sanki. (Doğruya doğru şimdi)Ama ondan da emin değilim.



    < Bu mesaj bu kişi tarafından değiştirildi TradeMark -- 16 Ekim 2011; 7:15:02 >




  • Kusura bakmayın toplu işlem derken elimde 30 bin tane başvuru var ve bunları otomatikman mouse ve keyboard tanımlamalarıyla girdireceğim(sistemi açık bırakacağım o kendi otomatikman işlem yapacak yani) o nedenle bu form bölümündeki olayı "dosya seç" yaptırtmadan yapmam gerekiyor.

    Bu arada şu an tam cevaplara bakamadım akşam eve geçince bakacağım yardımlarınızdan dolayı şimdiden teşekkürlerimi sunarım. İyi günler.
  • 30 binmi ?! sectigin yol yanlıs buınları file stream yolu ile sitene aktar orda ayrıma tabi tut derim.
  • quote:

    Orijinalden alıntı: fsh77

    30 binmi ?! sectigin yol yanlıs buınları file stream yolu ile sitene aktar orda ayrıma tabi tut derim.

    Site kendisine ait değil zannımca... Aracı kuruluş olarak düşün, müşterilerinin başvurularını yaptırıyor.
  • un.real arkadaşımız'ın dediği gibi bizim elimizde olsaydı öyle yapardık tabiiki.



    < Bu mesaj bu kişi tarafından değiştirildi Amedra -- 16 Ekim 2011; 15:21:38 >
  • <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication51.WebForm1" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.6.4.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function () {

    $("#FileUpload1").click(function () {

    Uyar();

    })

    })


    </script>
    <script type="text/javascript">
    function Uyar() {

    alert("Dikkat File Gönderme");
    }
    </script>

    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:FileUpload ID="FileUpload1" runat="server" />
    </div>
    </form>
    </body>
    </html>




  • .
    .
    .
    .
    .
    <script type="text/javascript">
    function Uyar() {

    alert("Dikkat File Gönderme");
    document.getElementById("Label1").textContent = "Lutfen bir resim secin !";
    }
    </script>

    .
    .
    .
    .
  • browser üzerinden böyle bir otomasyon yapmanız mümkün değil, ancak curl gibi bir program ile böyle bir döngü yazabilirsiniz, dosyayı da o halledecektir duruma göre.

    ya da google üzerinden, batch form sending, batch form processing with file, gibi aramalar yapın belki direk bu iş için birileri program yazmıştır.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.