PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : *ضروری*تغییر دسته جمعی سطح دسترسی فایل ها و پوشه ها در سی پنل؟؟؟



kianesfahan
December 8th, 2015, 14:28
با سلام .

یک بسته نصب کردیم سطح دسترسی فایل ها و پوشه ها استاندارد نیست و متفاوت است .

چه طور می توانیم سطح دسترسی فایل ها و پوشه ها را به صورت یکجا تغییر دهیم ؟ چون به صورت دستی کاری بسیار طولانی است .

- - - Updated - - -

از دوستان کسی هست راهنمائی کند در این موضوع ؟؟؟

alializade3
December 8th, 2015, 14:33
دوست عزیز مشکل امنیتی بوجو میاره

kianesfahan
December 8th, 2015, 14:35
نه عزیز وقتی بسته را نصب کردیم دسترسی فایل ها به جای 0644 روی 0666 هست و فایل ها به جای 0755 روی 0777 هست . باید به استاندارد تبدیل شود .

به صورت دستی فوق العاده زمان بر است . راحتی هست از طریق سرور و هاست بشود این کار را انجام داد ؟

alializade3
December 8th, 2015, 14:37
از طریق سرور ومیشه
دوست عزیز

kianesfahan
December 9th, 2015, 18:10
از طریق سرور به چه صورت امکان پذیر هست ؟

کلی فایل و پوشه تو در تو هست . مدیر سرور چه طور می تواند این کار را انجام دهد ؟

با چه کد دستوری ؟

iHSG
December 9th, 2015, 18:28
سلام
با این تابع php می تونید این کار رو انجام بدید:



<?php
function chmod_R($path, $filemode, $dirmode) {
if (is_dir($path) ) {
if (!chmod($path, $dirmode)) {
$dirmode_str=decoct($dirmode);
print "Failed applying filemode '$dirmode_str' on directory '$path'\n";
print " `-> the directory '$path' will be skipped from recursive chmod\n";
return;
}
$dh = opendir($path);
while (($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..') { // skip self and parent pointing directories
$fullpath = $path.'/'.$file;
chmod_R($fullpath, $filemode,$dirmode);
}
}
closedir($dh);
} else {
if (is_link($path)) {
print "link '$path' is skipped\n";
return;
}
if (!chmod($path, $filemode)) {
$filemode_str=decoct($filemode);
print "Failed applying filemode '$filemode_str' on file '$path'\n";
return;
}
}
}
?>


استفاده تابع هم اینطوریه:



chmod_R('Path', 0644, 0755);


دقت کنید به جای Path آدرس پوشه ای که فایل ها توش هست و به جای 0644 سطح دسترسی که می خواین فایل ها داشته باشن و به جای 0755 سطح دسترسی که می خواین پوشه ها داشته باشن رو باید بنویسید.
بعدش در یک فایل php واقع در شاخه public_html سایت ذخیره اش کنید و سپس در AddressBar مرورگر فایل رو یک بار اجرا کنید.

منبع کد: http://php.net/manual/en/function.chmod.php#105570

kianesfahan
December 9th, 2015, 18:30
به چه صورت ؟

یعنی یک فایل داخل روت پوشه قرار بدیم یا روت هاست ؟؟؟؟ بعد فایل های اولی را داخلش کپی و ادرس فایل را اجرا کنیم ؟

iHSG
December 9th, 2015, 18:36
به چه صورت ؟

یعنی یک فایل داخل روت پوشه قرار بدیم یا روت هاست ؟؟؟؟ بعد فایل های اولی را داخلش کپی و ادرس فایل را اجرا کنیم ؟

یه فایل در public_html با هر نامی و با پسوند php مثلاً test.php بساز و بعدش اول کد اولی طولانیه که بالا گفتم رو توش بذار بعدش قبل از خط آخر که ?> باشه یه Enter بزن و قبلش کد دومی کوتاهه رو بذار و ذخیره کن.
سپس آدرس سایتت رو بذن و آخرش یه / بذار و اسم فایل php که ساختی رو بنویس و اجرا کن.

فقط قبلش به جای Path آدرس دقیق پوشه ای که می خواستی رو باید بنویسی.

دقت کن آدرس پوشه رو اشتباه ندی.

kianesfahan
December 9th, 2015, 18:40
داخل هاست پوشه مشاره 15 هست . په طور باید دقیق ادرس دهی شود ؟

iHSG
December 9th, 2015, 18:43
داخل هاست پوشه مشاره 15 هست . په طور باید دقیق ادرس دهی شود ؟

ببخشید مشاره 15 یعنی چی؟
اگه می خواین آدرس دقیق از اول هاست خودتون رو به دست بیارید کد زیر رو در یه فایل php بریزید و اجرا کنید تا در خروجی کد آدرس کامل از اول پوشه های هاستتون رو ببینید:



<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

kianesfahan
December 9th, 2015, 18:47
ببخشید مشاره 15 یعنی چی؟
اگه می خواین آدرس دقیق از اول هاست خودتون رو به دست بیارید کد زیر رو در یه فایل php بریزید و اجرا کنید تا در خروجی کد آدرس کامل از اول پوشه های هاستتون رو ببینید:



<?php echo $_SERVER['DOCUMENT_ROOT']; ?>



عذر خواهی میکنم .

سایت در روت هاست در پوشه شماره 15 قرار دارد . حال باید چه طور آدرس دهی کنیم ؟

iHSG
December 9th, 2015, 19:19
عذر خواهی میکنم .

سایت در روت هاست در پوشه شماره 15 قرار دارد . حال باید چه طور آدرس دهی کنیم ؟
می تونید فقط اسم پوشه که 15 هست رو بنویسید.