MJ Rayaneh
Well-Known Member
با عرض سلام و آرزوی قبولی طاعات و عبادات!
از دوستان PHP کار یه سوال عجیب (!) دارم.
من از یک اسکریپت ارسال محتویات فرم به ایمیل در هاست قبلیم بدون مشکل استفاده میکردم.
ولی وقتی در هاست جدیدم آپلودش کردم با یه مشکل مواجه شدم و مشکل اینه که این اسکریپت ایمیل رو خالی میفرسته. یعنی فقط متن پیشفرض اسکریپت رو میفرسته و متغیرهایی که توسط کاربر در فرم وارد میشه رو ارسال نمیکنه.
با توجه به یه سری مسائل حدس زدم که احتمالا مشکل از خاموش بودن register_globals باشه و وقتی با ویرایش فایل httaccess فعالش کردم دیدم مشکل رفع شد و حدسم درست بود!
برای فعال سای هم از این کد استفاده کردم:
php_value safe_mode on
php_flag display_errors off
php_flag register_globals on
حالا سوالم اینه که
1) آیا راهی هست که با غیر فعال بودن register_globals ، اسکریپت کار خودش رو درست انجام بده؟
2) اگر register_globals فعال باشه چه مشکلات امنیتی بوجود میاد؟
** ضمنا وقتی register_globals خاموش باشه، متغیرهایی که در نوار آدرس درج شده، توسط دستور echo در صفحه نمایش داده نمیشه! مثلا اگر آدرس صفحه www.site.com/index.php?name=REZA باشه و در صفحه هم داشته باشیم <?php echo ("$name") ?> ، دستور echo کار نمیکنه و حتما باید register_globals فعال باشه تا این دستور کار کنه.
منتظر راهنمایی دوستان هستم.
با تشکر فراوان.
از دوستان PHP کار یه سوال عجیب (!) دارم.
من از یک اسکریپت ارسال محتویات فرم به ایمیل در هاست قبلیم بدون مشکل استفاده میکردم.
ولی وقتی در هاست جدیدم آپلودش کردم با یه مشکل مواجه شدم و مشکل اینه که این اسکریپت ایمیل رو خالی میفرسته. یعنی فقط متن پیشفرض اسکریپت رو میفرسته و متغیرهایی که توسط کاربر در فرم وارد میشه رو ارسال نمیکنه.
با توجه به یه سری مسائل حدس زدم که احتمالا مشکل از خاموش بودن register_globals باشه و وقتی با ویرایش فایل httaccess فعالش کردم دیدم مشکل رفع شد و حدسم درست بود!
برای فعال سای هم از این کد استفاده کردم:
php_value safe_mode on
php_flag display_errors off
php_flag register_globals on
حالا سوالم اینه که
1) آیا راهی هست که با غیر فعال بودن register_globals ، اسکریپت کار خودش رو درست انجام بده؟
2) اگر register_globals فعال باشه چه مشکلات امنیتی بوجود میاد؟
** ضمنا وقتی register_globals خاموش باشه، متغیرهایی که در نوار آدرس درج شده، توسط دستور echo در صفحه نمایش داده نمیشه! مثلا اگر آدرس صفحه www.site.com/index.php?name=REZA باشه و در صفحه هم داشته باشیم <?php echo ("$name") ?> ، دستور echo کار نمیکنه و حتما باید register_globals فعال باشه تا این دستور کار کنه.
منتظر راهنمایی دوستان هستم.
با تشکر فراوان.
آخرین ویرایش: