PDA

View Full Version : سوال: امنیت سایت



janbozorgi
پنج شنبه 27 تیر 1387, 09:31 صبح
با سلام
بنده بعد از طراحی سایتی البته با odbc متغیر register_globals را off کردم و حالا یکسری مشکل پیدا کردم از جمله:
1- متغیر هایی رو که به صورت کوری استرینگ پاس میدم در صفحه نمیشناسه.

viwe.php?pid='<?php echo $id?> id </a>
و وقتی در این صفحه میام توسط getenv مقدار متغیر pid رو میگیرم و مثلا در یک رشته sql قرار میدم باز هم اون رو نمیشناسه و پیام زیر رو میده:


Warning: odbc_exec() [function.odbc-exec (http://localhost/site/aaza/function.odbc-exec)]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id='., SQL state 37000 in SQLExecDirect in E:\wamp...
ممنون میشم مشکل رو بگین

maysamscript
پنج شنبه 27 تیر 1387, 10:04 صبح
به جای getenv از آرایه $_GET استفاده کن ببین درست میشه.
درضمن ممکنه مشکل از دستور sql هم باشه

janbozorgi
پنج شنبه 27 تیر 1387, 14:07 عصر
با سلام
مگه استفاده از آرایه get هم مشکل امنیتی نداره (با این آرایه مشکل برطرف میشه) پس اگه اینطور هست راه دیگه ای در صورت نبود زحمت ارائه بفرمایید

maysamscript
پنج شنبه 27 تیر 1387, 16:57 عصر
مگه استفاده از آرایه get هم مشکل امنیتی نداره
نه کی گفته از لحاظ امنیتی مشکل داره؟!!
شما قبل از استفاده از این متغیر باید اون رو از تابع mysql_escape_string عبور دهیند. اینجوری جلوی sql injection رو میگیرید

yaqubian
جمعه 28 تیر 1387, 00:16 صبح
دوست عزیز
پارامتری رو که شما از طریق آدرس url ارسال می کنید مگه می تونید به روش دیگه ای هم دریافتش کنید؟
باید با $_GET بگیریدش!
موفق باشید