/
  • راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها
    نویسنده پیام
    kingblog آفلاین
    عضو جدید
    **

    ارسال‌ها: 23
    تاریخ عضویت: ۱۳۹۵ تير ۴
    اعتبار: 0
    تشکرها : 15
    ( 0 تشکر در 0 ارسال )
    ارسال: #1
    راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها
    سلام
    من از کد زیر برای بررسی مقادیر ورودی توسط کاربر، ذخیره در پایگاه داده و چاپ اطلاعات استفاده میکنم:
    کد PHP:
    <?php
    if (!function_exists('test_input')) {
    function 
    test_input($data)
    {
       
    $data trim($data);
       
    $data stripslashes($data);
       
    $data htmlspecialchars($data);
       
    $data strip_tags($data);
       return 
    $data;
    }}
    $nametest_input($_POST["name"]);
    $pictest_input($_POST["pic"]);
    $pric= (int)$_POST["pric"];
    ?>
    میخوام بدونم برای امنیت کافیه یا اینکه بازم امکان هک وجود داره؟
    و اینکه مثلا برای چاپ اطلاعات لازمه باز بررسی بشه به این شکل:
    کد PHP:
    <?php echo htmlspecialchars($name); ?>
    یا بعد از استفاده از کد بالا نیاز نیست و همینوری کفایت میکنه:
    کد PHP:
    <?php echo $name?>
    البته برای گرفتن اطلاعات ورودی از preg_match هم استفاده می کنم
    (آخرین ویرایش در این ارسال: ۱۳۹۶ شهريور ۲۷ ۰۳:۴۸ عصر، توسط kingblog.)
    ۱۳۹۶ شهريور ۲۷ ۰۳:۴۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    kingblog آفلاین
    عضو جدید
    **

    ارسال‌ها: 23
    تاریخ عضویت: ۱۳۹۵ تير ۴
    اعتبار: 0
    تشکرها : 15
    ( 0 تشکر در 0 ارسال )
    ارسال: #2
    RE: راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها
    دوستان یه نظری یا روش بهتری در مورد این روش بدین لطفا
    ۱۳۹۶ شهريور ۳۰ ۱۰:۲۰ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,734
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 94
    تشکرها : 2123
    ( 4697 تشکر در 2146 ارسال )
    ارسال: #3
    RE: راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها
    درباره این موضوع مطالب بسیار در همین انجمن و اینترنت وجود داره - جستجو کن
    بعلاوه باید راجب انواع آسیب پذیریها و روش های نفوذ تحقیق کنی و اونوقت میدونی که چکار باید انجام بدی - چی رو برای کجا استفاده کنی

    نه اینکه هرچی تابع فیلترسازی وجود داره رو یکجا استفاده کنی
    اینطوری برعکس داده ها رو تخریب میکنی
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    کسی که دین را با شخصیت ها بشناسد، همان شخصیت ها او را از دین خارج می سازند. امام صادق (ع)

    یادمون نره اون روشنفکرانی که موقع اشغال افغانستان میگفتن حالا که آمریکا اومده چند سال دیگه افغانستان بهشت منطقه میشه...
    سلام بهشت منطقه!
    ۱۳۹۶ شهريور ۳۰ ۰۲:۴۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : kingblog ayoubsys netparadis
    netparadis آفلاین
    عضو جدید
    **

    ارسال‌ها: 4
    تاریخ عضویت: ۱۳۹۶ مهر ۲۷
    اعتبار: 0
    تشکرها : 1
    ( 2 تشکر در 2 ارسال )
    ارسال: #4
    RE: راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها
    سلام . بهتره برای جلوگیری از ایجاد باگ در اسکریپت ورودی های که از کاربر می گیرید همان ورودی ها با نوع داده ای باشند که شما قصد دارید استفاده کنید مثلا اگر از کاربر عدد می گیرید و در کوئری sql استفاده می کنید بهتره از تابع intval استفاده کنید تا تمام مقادیر دیگه خود به بخود sanitize یا پاکسازی بشه و مشکلی از لحاظ امنیتی پیش نیاد

    توابع htmlentities و زیر مجموعه های آنها بیشتر مربوط به کار با رشته ها است و بهتره هر کدام را در جای خود استفاده کنید تا مقادیر بیش از حد دستکاری و تغییر نکنند

    برای اینکار php تابع filter_var با یک سری attribute ها معرفی کرده که بسیار عالی هستند و می توانید در پروژه هاتون ازش استفاده کنید.

    http://php.net/manual/en/function.filter-var.php

    موفق باشید
    ۱۳۹۶ مهر ۲۷ ۰۱:۵۴ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : kingblog
    Maysam.m آفلاین
    میثم محمودی
    ****

    ارسال‌ها: 325
    تاریخ عضویت: ۱۳۸۹ مهر ۱۷
    اعتبار: 11
    تشکرها : 248
    ( 197 تشکر در 149 ارسال )
    ارسال: #5
    RE: راهنمایی در کد امنیتی برای اطلاعات ورودی و چاپ اونها
    مباحث امنیتی در چند دسته متفاوت هستند و تقریبا میشه گفت مهم ترین اونها sql injection و xss هستند. برای sql injection کافی است از روش prepare خود mysqli, pdo یا هرفریمورکی استفاده کنید و برای xss هم کافیه کل تگ های html رو حذف کنید و خروجی رو هم htmlspecialchars کنید تا این هم کافیه و مشکلی پیش نمیاد.
    __________________________________________________________________________
    میثم محمودی | انجمن کد ایگنایتر فارسی
    --------------------------
    هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
    ۱۳۹۶ مهر ۲۷ ۰۶:۲۹ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : kingblog ayoubsys
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS