راهی وجود داره که به فیلد از نوع file مقدار اولیه بدیم ؟

NabiKAZ

Well-Known Member
یه نکته ای بد نیست یادآور بشم و اونم اینکه بعضی از دوستان اشاره به این داشتند که مثلا میشه یه فیلد رو مقدار اولیه بدیم و فرم رو سابمیت کنیم و فایلی رو روی سرور آپ لود کنیم...
در این مورد باید عرض کنم که حتی در صورتی که نشه به فیلد file مقدار اولیه داد. راه هایی برای ارسال فایل به url وجود داره که خیلی ساده تر هستند. مثلا استفاده از CURL که همونطور که سایر داده ها رو میشه به یه url پست کرد، همچنین میشه مستقیماً یه فایل رو به یه url پست کرد!
اما این درصورتیه که بخوایم یه فرم رو به صورت غیر مجاز سابمیت کنیم که همراهش فایل رو هم ارسال کنیم و موارد خاص دیگه ای که خیلی کاربردی نیستند.

اما مثلا در نظر بگیرید کاربر یه فرم داره که نام و سایر اطلاعات رو وارد میکنه و عکسش هم از روی هارد انتخاب میکنه ، حالا وقتی فرم سابمیت میشه و در سرور چک میشه معلوم میشه که مثلا نام صحیح وارد نشه پس فرم باید مجدد نمایش داده بشه، در این لحظه مقدار "نام" که اشتباه بوده به همون شکل به text نسبت داده میشه و کاربر میتونه تصحیحش کنه. اما فید file مقدار خود رو از دست میده ! این شاید یکی از موارد کاربردی قضیه باشه. البته این اتفاق برای فید password هم میافته و اون هم مقدار خودش رو از دست میده که شاید اینطوری بهتر هم باشه ولی در مورد فید file دلیلی پیدا نمیکنم ......


نبی
 
در این مورد باید عرض کنم که حتی در صورتی که نشه به فیلد file مقدار اولیه داد. راه هایی برای ارسال فایل به url وجود داره که خیلی ساده تر هستند. مثلا استفاده از CURL که همونطور که سایر داده ها رو میشه به یه url پست کرد، همچنین میشه مستقیماً یه فایل رو به یه url پست کرد!
اما این درصورتیه که بخوایم یه فرم رو به صورت غیر مجاز سابمیت کنیم که همراهش فایل رو هم ارسال کنیم و موارد خاص دیگه ای که خیلی کاربردی نیستند.
من با cURL کار نکدم و نمی دونم ایا این امکان رو داره یا نه


اما مثلا در نظر بگیرید کاربر یه فرم داره که نام و سایر اطلاعات رو وارد میکنه و عکسش هم از روی هارد انتخاب میکنه ، حالا وقتی فرم سابمیت میشه و در سرور چک میشه معلوم میشه که مثلا نام صحیح وارد نشه پس فرم باید مجدد نمایش داده بشه، در این لحظه مقدار "نام" که اشتباه بوده به همون شکل به text نسبت داده میشه و کاربر میتونه تصحیحش کنه. اما فید file مقدار خود رو از دست میده ! این شاید یکی از موارد کاربردی قضیه باشه. البته این اتفاق برای فید password هم میافته و اون هم مقدار خودش رو از دست میده که شاید اینطوری بهتر هم باشه ولی در مورد فید file دلیلی پیدا نمیکنم ......
معمولا در اینجور مواقع از جاوا اسکریپت کمک می گیرند
یا اژاکس
 

bahy_my

Active Member
vbscript آره خوب.
اصلاً خودمون یه اینپوت فایل درست کنیم.
توی vb خوب میشه dialog باز کرد.
اگه با جاوااسکریپت هم بشه که ساپورتش بیشتره فکر کنم بشه یه اینپوت فایل مجازی درست کرد که از اون استفاده شه.
نظرتون چیه ؟
 

bahy_my

Active Member
خیلی ممنون ! :|
<input="file"....>​
می گم اگه بشه با js یه دیالوگ باز کرد میشه یه input="file" خودمون درست کنیم و میشه همون کدی رو که دادم روش عملی کرد.
ینی کدی که همتون بلدین.
 
کسی می دونه چجوری میشه با اژاکس فایل اپلود کرد؟
فکر کنم اگه اینو متوجه شدید جواب سوالتون هم پیدا بشه
 

bahy_my

Active Member
جواب بهتر از این نمیشه داد !
بیاید بگردیم. پیدا کنیم. و تو همین تاپیک بگیم.
 

my friend

Member
یه روش هست که با iframe فایل رو آپلود میکنه...
برای اینکه اطلاعات فرم نپره این روش بهترین راهه به نظرم...

در مورد مقدار دهی به file... این یه مشکل امنیتی محسوب میشه.... چون مثلا موقع نمایش یه فرم میتونیم یه مقدار به file بدیم و اونو تو یه لایه نامرئی بزاریم... بعد بدون اینکه کاربر متوجه بشه فایلی رو آپلود میکنه... 99.99999% احتمال میدم که این کار ( نسبت دادن مقدار به file ) غیر ممکن هست... ( اونایی که html رو پایه ریزی کردن فکر اینچیزا رو هم کردن:D )
 

mazoolagh

Active Member
تا زمانی که متوجه نباشن چرا امکان مقدار اولیه دادن به فیلد فایل از نظر امنیتی مسئله ساز هست ، غیرممکن بودن اون رو هم قبول ندارن!
 

جدیدترین ارسال ها

بالا