نیاز به چک کردن ورودی ها؟؟

پرسیده شده
فعالیت 996 روز پیش
دیده شده 367 بار
0

سلام استاد عزیز . آیا نیاز هست ما داده های کاربر رو چک کنیم که حتما واقعی باشه یا دیگه به چک کردن نیازی نیست وقتی کد زیر رو میزنید . منظورم اینه که برای امن بودن داده ها همین کد کافیه یا نیاز به انجام کاری است ؟؟

 

   
    $name = $userdata['username'];
    $email = $userdata['email'];
    $pass_hash = password_hash($userdata['password'] , PASSWORD_BCRYPT);
    $sql = "INSERT INTO users (name,email,password) VALUES (:name,:email,:pass)";
    $stmt = $pdo -> prepare($sql);
    $stmt -> execute([
        ':name' => $name,
        ':email' => $email,
        ':pass' => $pass_hash
    ]);

اگر کاربر کد اسکریپتی بزنه خود این کد امن است یا نه؟؟؟ یا از داده های نامعتبر استفاده کنه ؟؟ نیاز هست که حتما چک بشه نام رشته باشه یا ایمیل حتما رشته باشه ؟؟؟

فایل پیوست

mostafa mehrjoo
mostafa mehrjoo

13 مرداد 00

0
حذف شده

درود

اصل باید این باشه که داده های کاربر به طور پیش فرض نا امنن،‌ ینی اینکه شما هر چیزی که سمتتون اومد رو باید validate کنید تا خیالتون راحت باشه که داده ها بهتون آسیب نمیزنه، حالا این پروژه برای تمرینه و بستگی به خودتونه که روی این موضوع بهش حساسی نشون بدین یا ن

میتونید برای تمرینشون این مورد رو با sanitizationهای php پیاده سازی کنید، متدهاش داخل لینک زیر هستن

https://www.php.net/manual/en/filter.filters.sanitize.php

فایل پیوست

امیر صالحی

توسط

امیر صالحی

14 مرداد 00

حذف شده
یعنی بازم احتمال هک کردن از طرف کاربر وجود داره؟؟؟ بعد به نظرتون اگر من باستفاده از توابع رشته های بیام تبدیل کنم کل کد هایی که کاربر میزنه رو به رشته بعد ذخیره کنم چی؟؟؟ برای پسورد هم همینکار رو انجام بدم برای ایمیل که از تابع فیلتر ور که شما توی لینک بهم راهنمایی کردید استفاده میکنم کافیه به نظرم ؟ درست میگم؟؟
mostafa mehrjoo

15 مرداد 00

0
حذف شده

راه های مختلفی برای نفوذ وجود نداره این مقاله رو حتما بخونید https://7learn.com/programming/php/php-security-tutorial

 

برای رشته های شما میتونید مثلا از تابع htmlspecialchars استفاده کنید تا کاراکترهای خطرناک رو حذف کنه 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

15 مرداد 00