نقل قول: جلوگیری از حملات mysql
این کاراکترها Escape میشن، نه حذف/فیلتر.
Escape کردن از درج در دیتابیس جلوگیری نمیکنه.
درج هرچیزی در دیتابیس به خودی خودش خطری نداره.
اگر میخواید در رشتهء مورد نظر کاراکترهای خاصی وجود نداشته باشن باید این کار رو از راه دیگری انجام بدن. البته Escape کردن رو برندارید و همیشه قبل از درج در کوئری Escape کنید گرچه کاراکترهای خاصی رو قبلا فیلتر کرده باشید.
نقل قول: جلوگیری از حملات mysql
به نظرتون از strip_tags استفاده کنم؟
کاربری که فرم رو پر میکنه تگ html لازم نداره.
نقل قول: جلوگیری از حملات mysql
با سلام
می تونی از این تابع برای امنیت بیشتر استفاده کنی
فقط مقدار رو به تابع بده و همونو روی خودش ذخیره کن
function secure($string) {
$string = strip_tags($string);
$string = htmlspecialchars($string);
$string = trim($string);
$string = stripslashes($string);
$string = mysql_real_escape_string($string);
return $string;
}
$str=secure($str);
نقل قول: جلوگیری از حملات mysql
الان وقتی از این تابع استفاده میکنم خیالم از همه ورودی ها راحت باشه؟
نقل قول: جلوگیری از حملات mysql
ببین vejmad قبلا در موردش بحث کرده بود. یه فانکشن هم به اسم smartquta دادند. شبیه تابع بالا است . البیته if esle داره . برای اینکه ببینه majic_qu.. هست یا نه
نقل قول: جلوگیری از حملات mysql
if(function_exists("mysql_real_escape_string"))
این شرط برای چیه؟
اگر سروری این تابع رو پشتیبانی نکنه، بنظرم بهتره اصلا از اون سرور استفاده نکنید. چون دردسترس ترین ابزار ایجاد امنیت دیتابیس رو برای برنامه نویس فراهم نکرده و معلوم نیست بقیه ابزار امنیتی رو هم بکار می بره یا نه!