مشکل در ف یل ت ر کردن ورودی $_get

foranyone

Well-Known Member
سلام فرض کنید من یه url به این صورت دارم :

کد:
http://example.com/search.php?s1=کنکور

الان میام و متغیر s1 رو اینجوری میخونم :
کد:
$search=$_REQUEST['s1'];

تا اینجا هیچ مشکلی ندارم ! الان برا امنیت کلمه فارسی رو چطور از ف ی ل ت ر رد کنم :cry:!!!

این تابع همه ی حروف فارسی رو حذف میکنه :
PHP:
function filtering($input){
$input=strtolower($input);
return @preg_replace("([^a-z0-9_]*)", '', $input);
}
 
چرا میخوای کلمات فارسی رو باهاشون اینکارو کنی.مگه با کلمات و حروف فارسی هم میشه مشکل امنیتی ایجاد کرد.؟(اگه اطلاعات من ناقص هست لطفاً راهنمایی کنید!) من فکر میکنم بهتر باشه که فارسی هارو از انگلیسی ها جدا کنی و بعد روی انگلیسی ها عملیات انجام بدی.
 

foranyone

Well-Known Member
چرا میخوای کلمات فارسی رو باهاشون اینکارو کنی.مگه با کلمات و حروف فارسی هم میشه مشکل امنیتی ایجاد کرد.؟(اگه اطلاعات من ناقص هست لطفاً راهنمایی کنید!) من فکر میکنم بهتر باشه که فارسی هارو از انگلیسی ها جدا کنی و بعد روی انگلیسی ها عملیات انجام بدی.



با کلمات فارسی نمیشه مشکل ایجاد کرد ولی چون ورودی های url باید ف ی ل تر شن تا حمله sql injection

انجام نشه ، به خاطر همین باید این تهدید امنیتی رو حل میکردم .

ممنون از دوست خوبم Allahparasat حتما تست میکنم.:rose:
 
چون ورودی های url باید ف ی ل تر شن تا حمله sql injection

انجام نشه ، به خاطر همین باید این تهدید امنیتی رو حل میکردم .

.
من هم از مشکل ایجاد کردن دقیقاً sql injection بود.می خواستم بدونم با کاراکتر های فارسی هم میشه این کار رو انجام داد یا نه.
 

foranyone

Well-Known Member
شاید با فارسی نشه ولی اگه بجا فارسی یه چیز دیگه وارد شه اونوقت چی ؟!

الان مشکلم اینه :

ورودی get من فارسیه ! الان چطوری از فی*ل*ل*تر ردش کنم ؟
 

foranyone

Well-Known Member
امین جان بابت لینک ممنون ولی اونجا هم قضیه آ و ا مشخص نشده میشه ادامه اون مبحث رو اینجا کامل بررسی کرد؟
 

Masoud1365

مدیر انجمن
امین جان بابت لینک ممنون ولی اونجا هم قضیه آ و ا مشخص نشده میشه ادامه اون مبحث رو اینجا کامل بررسی کرد؟

این لینک رو من نخوندم ولی یه نکته !
اول که با کاراکتر فارسی نمیشه از طریق اس کیو ال اینجکشن حمله کرد.
دوم این که شما از تابع addslashes که استفاده کنی دیگه کاری نداره فارسیه یا انگلیسی کاراکترهای خطرناک رو فیلتر میکنه !
 

foranyone

Well-Known Member
اول که با کاراکتر فارسی نمیشه از طریق اس کیو ال اینجکشن حمله کرد

چرا همه فکر میکنن من فکر میکنم با کاراکترهای فارسی بهم حمله میشه:shock:

فرض کنین url من این شکلیه :

search.php?s1=حمید

حالا این آقای هکر نمیتونه به جز حمید دستورات SQL وارد کنه ؟!
 

Masoud1365

مدیر انجمن
چرا همه فکر میکنن من فکر میکنم با کاراکترهای فارسی بهم حمله میشه:shock:

فرض کنین url من این شکلیه :

search.php?s1=حمید

حالا این آقای هکر نمیتونه به جز حمید دستورات SQL وارد کنه ؟!

ببین من گفتم شما از تابع addslashes استفاده کن کاراکتر هایی مثل " ' فیلتر میشن حالا طرف میخواد فارسی بنویسه یا انگلیسی بعدشم sql injection هم حساب کتاب داره . نمیشه یه رشته رو که ما وارد میکنیم بگیم خوب سرور بی خیال این قسمت فارسی میشه بعدش این اتفاق می افته بعدش ... و در نهایت هک میشیم که :wink:
 

Masoud1365

مدیر انجمن
شما لطف کنین اون لینکی رو که امین جان گذاشتن نگاه کنید
دیدم !
sql injection یعنی تزریق یه تیکه کد به برنامه که وارد دستورات sql میشه !
حالا ما میاییم از تابعی که خود php داره استفاده میکنیم . که این تابع میاد کاراکترهایی که میتونند خطرناک باشند رو فیلتر میکنه . فیلتر کردن برای جلوگیری از sql injection ربطی به استفاده از عبارات منظم نداره !
موفق باشید.
 

eAmin

Well-Known Member
امین جان بابت لینک ممنون ولی اونجا هم قضیه آ و ا مشخص نشده میشه ادامه اون مبحث رو اینجا کامل بررسی کرد؟
اون که مشخص شد! همون پست بعدی مسعود ( my friend ) رو بخون همونجا کد اصلاح شده رو قرار داده.
 
امین جان بابت لینک ممنون ولی اونجا هم قضیه آ و ا مشخص نشده میشه ادامه اون مبحث رو اینجا کامل بررسی کرد؟
اونجا که من دیدم حرف آ رو هم به اون مجموعه اضافه کردن و کار میکرد.منظورت از اینکه هنوز مشخص نشده چیه؟
راستی اگه رشته رو از addslashes و mysql_real_escape_string رد کنی فکر نمیکنم چیز خطرناکی توش بمونه.
 

foranyone

Well-Known Member
اگه اونجا اصلاح شده باشه پس حله !

فقط یه سوال ؟

اگه از addslashes و mysql_real_escape_string رد شه iframe هم از بین میره ؟
 

Masoud1365

مدیر انجمن
همین addslashes کافیه چون توی انجمن دیدم که mysql_real_escape_string بای پس میشه
 

جدیدترین ارسال ها

بالا