PDA

View Full Version : مشکل در فرم ارسال پیام



com.mohsen
سه شنبه 12 اردیبهشت 1391, 16:45 عصر
با سلام
من در سایتم یک فرم ارتباط با ما وجود دارد.
وقتی فیلد ها رو پر می کنم و ارسال می کنم به ایمیلم ارسال میشه.
ولی بعضی وقتا یک سری پیام هایی مثل زیر و مانند آن ارسال می شود.
اینها چی هستند؟
امنیت سایتم پایینه؟

KaQjoN <a href=\"http://ydviyguyvoqn.com/\ (http://ydviyguyvoqn.com/%5C)">ydviyguyvoqn</a>, http://yaafkcriyfid.com/]yaafkcriyfid[/url (, [link=http://jnnxwvwwemsf.com/]jnnxwvwwemsf[/link (http://jnnxwvwwemsf.com/%5Djnnxwvwwemsf%5B/link)], [URL]http://pyuvsbviabny.com/

برای حل این مشکل چکار باید کرد؟
با تشکر

Hamid.RDN
سه شنبه 12 اردیبهشت 1391, 20:33 عصر
آره دوست عزیز
این اطلاعات به همین صورت که می بینید وارد شدن. یعنی فرم شما هیچ گونه اعتبار سنجی و یا تبدیل انجام نمیده و این خطرناک هست.
نباید به کاربر اجازه بدید کدهای HTML رو در متن نامه ارسال کنه

com.mohsen
چهارشنبه 13 اردیبهشت 1391, 01:40 صبح
برای حل مشکل چکار باید کرد؟

djsaeedkhan
چهارشنبه 13 اردیبهشت 1391, 13:20 عصر
سلام
شما باید تمام ورودی خروجی هاتو چک کنی
مثلا اگر یه فیلد داری که طرف باید شماره تماس بگذاره باید چک کنی که رشته وارد نکنه و همچنین بقیه موارد که با regular expression می تونی درست کنی
بعد از این تابع (می تونی خودتم تغییر بدی) برای چک کردن ورودی ها قبل از خواندن یا درج کردن(در مرحله آخر) استفاده کنی.


public function escape($sql) {
$sql = trim($sql);
$sql = strip_tags($sql);
if(!get_magic_quotes_gpc() )
{
$sql = addslashes($sql);
}
$sql = addslashes($sql);
$sql = mysql_real_escape_string($sql);
return $sql;
}

djsaeedkhan
چهارشنبه 13 اردیبهشت 1391, 13:27 عصر
همچنین می تونی با تابع strip_tag (فکر کنم همین هست) تگ هایی که در رشته متنی هست رو حذف کنی. مثلا می تونی همه تگ های <a> رو حذف کنی. سرچ کن می بینی.
به نظر من طرف شما که این کارو کرده فکر می کرده شما از سی ام اس خاصی استفاده می کنی. برا همین خواسته یه سری کد تزریق کنه ببینه چی میشه
پس بیشتر حواستان جمع باشد

Hamid.RDN
چهارشنبه 13 اردیبهشت 1391, 13:49 عصر
همونطور کهdjsaeedkhan (http://barnamenevis.org/member.php?85555-djsaeedkhan) جان گفتند strip_tags ساده ترین راه حل این مشکل هست.