کار با فابل - کمک

شروع موضوع توسط amirepsilon ‏12 مارس 2008 در انجمن برنامه‌نویسی با PHP

  1. amirepsilon

    amirepsilon Active Member

    ارسال‌ها:
    884
    تشکر شده:
    123
    امتیاز دستاورد:
    43
    سلام
    دوستان کسی آموزش جامع در مورد کار با تصاویر نداره ؟
    ممنون میشم عنواین زیر توش باشه :

    1. تغییر اندازه تصویر
    2. کپی تصویر
    3. پاک کردن تصویر
    4. تغییر نام تصویر

    ممنون [​IMG]
    یا علی
     
    نوشته شده توسط amirepsilon در ‏12 مارس 2008
  2. jhoseini

    jhoseini Member

    ارسال‌ها:
    783
    تشکر شده:
    286
    امتیاز دستاورد:
    16
    در مورد حذف فایل:
    PHP:
    unlink("filename.jpeg");
    http://ir.php.net/manual/en/function.unlink.php


    در مورد تغییر نام فایل :
    PHP:
    rename($oldname , $newname);
    http://ir.php.net/manual/en/function.rename.php

    در مورد کپی :
    PHP:
    copy ( $source ,$dest);
    http://ir.php.net/manual/en/function.copy.php

    در مورد تغییر اندازه تصویر : لینکها و ضمیمه رو ببینید
    http://forum.majidonline.com/showthread.php?t=79168
    http://forum.majidonline.com/showthread.php?t=77006
     

    پیوست ها:

    • php.resize.zip
      اندازه فایل:
      کیلوبایت 44.6
      نمایش ها:
      2
    آخرین ویرایش: ‏13 مارس 2008
    نوشته شده توسط jhoseini در ‏13 مارس 2008
    amirepsilon از این پست تشکر کرده است.
  3. amirepsilon

    amirepsilon Active Member

    ارسال‌ها:
    884
    تشکر شده:
    123
    امتیاز دستاورد:
    43
    ممنونم ازت / خیلی عالی بود
     
    نوشته شده توسط amirepsilon در ‏14 مارس 2008
  4. amirepsilon

    amirepsilon Active Member

    ارسال‌ها:
    884
    تشکر شده:
    123
    امتیاز دستاورد:
    43
    میگم چرا توابع توی بایع .inc هست ؟
    چرا تو .php نیست ؟
    فرقی میکنه ؟
    یا علی
     
    نوشته شده توسط amirepsilon در ‏14 مارس 2008
  5. alireza82

    alireza82 Well-Known Member

    ارسال‌ها:
    756
    تشکر شده:
    407
    امتیاز دستاورد:
    63
    قبلا ها بین برنامه نویس ها مد شده بود که فایل هایی رو که در برنامه اینکلود میکنن با پسوند .inc ذخیره کنن اما در حال حاضر به دلیل مشکلات امنیتی ای که اون کار بوجود می آورد دیگه کسی اون کار رو نیمیکنه یا اگر هم بخواد اونجوری نام گذاری کنه به صورت .inc.php ذخیره میکنن! در کل هیچ فرقی نمیکنه مگر امنیت!
    موفق باشید
     
    نوشته شده توسط alireza82 در ‏14 مارس 2008
    amirepsilon از این پست تشکر کرده است.
  6. hidensoft

    hidensoft Member

    ارسال‌ها:
    604
    تشکر شده:
    378
    امتیاز دستاورد:
    16
    هیچ مشکلی امنیتی در Include کردن وجود نداره ! برای حرفات مدرک بیار .. لطفا .
     
    نوشته شده توسط hidensoft در ‏14 مارس 2008
  7. amirepsilon

    amirepsilon Active Member

    ارسال‌ها:
    884
    تشکر شده:
    123
    امتیاز دستاورد:
    43
    فکر کنم این دلیل درست باشه که : فایل inc. تو مرور گر باز میشه ولی php. خیر !
     
    نوشته شده توسط amirepsilon در ‏15 مارس 2008
  8. hidensoft

    hidensoft Member

    ارسال‌ها:
    604
    تشکر شده:
    378
    امتیاز دستاورد:
    16
    بله درسته ، فایل های .inc با فایل .txt هیچ فرقی ندارند اما بیشتر درون این فایل ها فانکشن هایی که ربطی به امنیت نداشتند ذخیره می شد ، می شه گفت استفاده غلط از این روش مشکلات امنیتی به همراه خواهد داشت. یه سری راه هم هست که شما می تونی کاری کنی هیچ کسی نتونه فایل هارو از طریق URL باز کنه ، و نتونه محتویات فایل رو ببینه ، اگه خواستید بگید بهتون بگم ، وگر نه که پرونده بستست .

    موفق و پیروز باشید
     
    نوشته شده توسط hidensoft در ‏15 مارس 2008
  9. alireza82

    alireza82 Well-Known Member

    ارسال‌ها:
    756
    تشکر شده:
    407
    امتیاز دستاورد:
    63
    1- اینکه کد ها قابل نمایش میشه
    2- زمانی که این امر خیلی رایج بود ، خیلی ها از رجیستر گلوبالز استفاده میکردند و مشکلات زیادی وجود داشت ، وقتی 1نفر دیگه اسم متغییر ها و نوع کد ردنت رو میدید!
    3- این جزء ابتدایییترین مسائلی هست که تو سایت های مختلف در حال حاضر گوشزد میشه! که برای حفاظت از کدتون و .. هیچ وقت غیر php پسوند دیگه ای قرار ندید!
    4- در اینکلود کردن مشکلی امنیتی وجود نداره به شرطی که بدونی چه جوری نوشتی ! یه مثال از file injection تو تاپیک امنیتم هست
    5- در کل چه تابع مهم چه غیر مهم نباید logic برنامه مفت و مسلم دست کسی بیفته!! (این از همه مهم تره)!!!!
    6- انقدر مطلق صحبت نکن! بهتره سوالی بپرسی تا اینجوری قاطع صحبت کنی!(لطفا!!)
    موفق باشید
     
    آخرین ویرایش: ‏15 مارس 2008
    نوشته شده توسط alireza82 در ‏15 مارس 2008
    jhoseini از این پست تشکر کرده است.
  10. alireza82

    alireza82 Well-Known Member

    ارسال‌ها:
    756
    تشکر شده:
    407
    امتیاز دستاورد:
    63
    اینم که از طریق httaccess یه چیزی رو deny کنی ! فکر نکنم اصولی تر از این باشه که پسوندت و درست بدی ! لقمه دور سر چرخوندنه تو اینمورد دوست من! در ضمن همچین نبودکه توابع بدون مورد رواینجوری بکنن خیلی ها کانفیگ دیتابیس رو هم .inc ذخیره میکردند! به اضافه اینکه در کل لزومی نداره کسی logic برنامه رو ببینه ، همینجوری !!! همه خودشون و میکشن تا حتی یه ارور یا ... در نیاد که چیزی از خصوصیات برنامه یا دیتابیس رو لو بده اون وقت من و شما داریم بحث میکنیم که چیرا نباید کسی برنامه رو ببینه!!!!
    اینم کد اینکه کسی نبینه .inc ها رو:

    <Files ~ "\.inc$">
    Order allow, deny
    Deny from all
    </Files>
    ولی نمیدونم چرا کار سخت تر!!!!
    کد (Text):

    The reason lots of coders avoid using .inc extensions is following:
    inc is displayed to the client browser as plain/text file and if you
    store all your config files or any other php-related files in inc file
    everyone is able to obtain an access to this file [yeah some people
    will say there is .htaccess file to prevent folders\files from viewing
    but if you'll forget to copy .htaccess while moving your site you'll
    have a big security hole].
     
    کد (Text):

    3. Use a .php extension for ALL files with PHP code contained in them.

    Often I come across files in PHP projects that have a .inc extension, because they are meant to be included, not browsed to directly from the web. This is a common condition, but there’s a potential security issue here if those files contain any sensitive data (e.g. database passwords). Because .inc files are not parsed by the PHP interpreter, they can be passed directly to the client side if they’re available via a web request, which would allow anyone to read the php code directly. Hopefully the directory these files reside in is denied read access by webserver rules (see below), but even so, there’s no sense in risking an accident where the user ends up being able to browse directly to the file. Use .inc.php.

     
    کد (Text):

    Include Files
    The Web server knows that a file is a PHP file by looking at the .php extension. Thus when you request a PHP page from the server, it first lets PHP interpret that file and then shows the results. If the server does not recognize the file extension, it will normally just show the contents of the file.

    Sometimes it happens that a PHP script needs to include other files as part of itself. A lot of programmers have a tendency to name those include files with a .inc extension. The problem here is that if the server is not aware that those files are actually parts of PHP scripts, it will just show the code to whoever requested it. This gives attackers the opportunity to study the code for security holes all they want and to see any hard-coded data that may be secret.

    There are several ways to prevent this. One way is to name all include files with a .php extension (or .php3, or whatever the server associates with PHP) so that the server will interpret them instead of showing them. Another possible solution is to associate .inc files with PHP. Yet another solution would be to prevent all .inc files from being displayed. In Apache, the last can be achieved by something like this:


     <Files ~ "\.inc$">
      Order allow, deny
      Deny from all
     </Files>


    This must be a section in the httpd.conf file.

    Probably the safest thing to do, however, would be not to put .inc files under DocumentRoot at all. Put them somewhere else and change include_path in php.ini. This way only your PHP scripts will be able to get to them and the Web server won't even see them.

     
     
    آخرین ویرایش: ‏15 مارس 2008
    نوشته شده توسط alireza82 در ‏15 مارس 2008
  11. amirepsilon

    amirepsilon Active Member

    ارسال‌ها:
    884
    تشکر شده:
    123
    امتیاز دستاورد:
    43
    سلام
    آره دوست من
    چقدر خوب شد گفتی
    لطفا بگو چیکار کنیم که دسترسی افزار به یکسری پوشه ها یا حتی فایل هاقطع بشه
    ممنون
    یا علی
     
    نوشته شده توسط amirepsilon در ‏15 مارس 2008
  12. alireza82

    alireza82 Well-Known Member

    ارسال‌ها:
    756
    تشکر شده:
    407
    امتیاز دستاورد:
    63
    <Files ~ "\.inc$">
    Order allow, deny
    Deny from all
    </Files>
    این برای فایل های .inc
     
    نوشته شده توسط alireza82 در ‏15 مارس 2008
  13. hidensoft

    hidensoft Member

    ارسال‌ها:
    604
    تشکر شده:
    378
    امتیاز دستاورد:
    16
    یه فایل htaccess. بوجود بیار و اینارو بنویس توش :
    کد (Text):
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^(.*)$ (.*) [R=404]
    </IfModule>
    این فایل رو بگذار اونجایی که نمی خوای از طریق URL کسی بهش دسترسی داشته باشه
    البته این دسترسی به تمام فایل هارو محدود می کنه ، من تو اکثر پروژه هام استفاده می کنم ازش
    چیز خوبیه .
     
    نوشته شده توسط hidensoft در ‏15 مارس 2008
  14. amirepsilon

    amirepsilon Active Member

    ارسال‌ها:
    884
    تشکر شده:
    123
    امتیاز دستاورد:
    43
    ممنون دوست من
    روش درست کردن فایل htaccess. :
    1. ایجاد فایل و تخییر نام به : htaccess.
    2. باز کردن با نوت پد و کپی کردن اطلاعات شما (فقط)!
    درسته ؟
    همین جوریه ؟
    یا علی
     
    نوشته شده توسط amirepsilon در ‏15 مارس 2008
  15. alireza82

    alireza82 Well-Known Member

    ارسال‌ها:
    756
    تشکر شده:
    407
    امتیاز دستاورد:
    63
    بله درسته!!
     
    نوشته شده توسط alireza82 در ‏15 مارس 2008
  16. hidensoft

    hidensoft Member

    ارسال‌ها:
    604
    تشکر شده:
    378
    امتیاز دستاورد:
    16
    معمولا توی ویندوز به شما اجازه داده نمی شه یه فایل رو به htaccess. تغییر نام بدید ، باید از ابتدا اون رو با این نام بوجود بیارید.
     
    نوشته شده توسط hidensoft در ‏15 مارس 2008
  17. jhoseini

    jhoseini Member

    ارسال‌ها:
    783
    تشکر شده:
    286
    امتیاز دستاورد:
    16
    این کار رو توی محیط winrar میتونید انجام بدید
    با winrar ویرایش کنید نام فایل رو
     
    نوشته شده توسط jhoseini در ‏15 مارس 2008

به اشتراک بگذارید