PDA

View Full Version : حذف پیام های اضفی در wamp



mahmood3d
سه شنبه 26 آبان 1388, 16:43 عصر
سلام دوستان
من برای کد نویسی روی لوکال از wamp 2.0 استفاده می کنم. جدیدا در فایل هایی که ایجاد می کنم اخطارهایی داده میشود. البته این اخطارها خطا نیستد و نکاتی هستند که می گویند متغیری که ایجاد کردی در جای دیگه ای از برنامه استفاده نشده (البته من اینجوری فکر می کنم)
قبلا این تذکرات دیده نمیشدن و تازیگا ظاهر شدن. اینم نمونه خطا:

Notice: Undefined index: User in F:\wamp\www\PHP Project\register.php on line 22مثلا تو این صفحه یک متغیر user دارم که بعد از سابمیت شدن فرم مقدار دهی میشه و ازش استفاده میشه و تا زمانی که صفحه سابمیت نشده این پیام نشون داده میشه. این تذکرات روی هاستی که روی اینترنت دارم نشون داده نمیشه و جدیدا روی لوکال ایجاد شده. من 2 تا سؤال داشتم:
1- چطوری میشه برنامه نویسی کرد که این تذکرات رو دیگه نشون نده (فکر کنم این به خاطر امنیت کد ها باشه. می خوام بدونم چطوری کدنویسی کنم که امنیتش بالا باشه و دیگه این تذکر رو نده)
2- اگه این مورد مشکل امنیتی نداره چطوری می تونم این گزارشات رو غیر فعال کنم؟ چون توی ظاهر صفحم مشکل ایجاد می کنه و حین برنامه نویسی حوصله مو سر می بره.
ممنون

mahmood3d
پنج شنبه 28 آبان 1388, 17:23 عصر
کسی نبود جواب ما رو بده؟؟؟؟؟

messina
جمعه 29 آبان 1388, 01:22 صبح
روی آیکون wamp که بغل ساعت قرار دارد چپ کلیک کن و از گزینه php و قسمت php setting تیک display error را بردار.
اگه صفحه ات رو ریفرش کنی دیگر پیغام ها را نشان نمی دهد.

mahmood3d
شنبه 30 آبان 1388, 19:23 عصر
نمی خوام کل پیام های خطا رو غیر فعال کنم.
در ضمن این پیام ها مشکل امنیتی ندارن؟ اگه دارن چطوری میشه این مشکلات رو حل کرد؟
اگه مشکل امنیتی نداره من پیام ها رو بزنم نشون نده و برنامه رو ادامه بدم.

zoghal
یک شنبه 01 آذر 1388, 10:50 صبح
می تونه خیلی مشکلات امنیتی داشته باشه. هکر ها خوب از این خطا ها استفاده میکنند.

این مشکلی که شما دارید. در واقعه میگه متغییر user تعریف نشده. یک نکته رو در نظر داشته باشید. که یک متغییر در php زمانی ایجاد میکه که مقدار دهی بشه. حتی اگر این مقدار null باشه.

زمانی که شما متغییر رو مقدار دهی نکرده باشید. و در یکی از دستورات شرطی ، تکرار و .... قرار بدید با این پیام مواجه میشید.

برای عدم نمایش این ارور ها کافیه یک @ اول دستورتون قرار بدید فرضا


if (@$user == 'ali')

اما بهتره شما همیشه یک اعتبار سنجی داشته باشید بر روی متغییر ها . مخصوصا متغیر های که توسط get & post برای شما ارسال میشه. و اگر مقدار دهی نشده بود روال برنامه تون رو کنترل کنید.



if (isset($user))
if ($user == 'ali')