امکان دستکاری ورودی تابع در جاوا
سلام. یه سوالی برام ایجاد شده که گفتم شاید بتونم پاسخ مناسبی اینجا براش پیدا کنم.
من یه المنت دارم به شکل زیر:
<span onclick="testFunction(1,'<?=$itemid?>')"></span>
خوب به این span یک تابعی دادم تا زمان کلیک روش اجرا بشه، مشکل من این هست که کاربر می تونه با مشاهده سورس و تغییر ورودی ها به تابع کمی دردسر سازی کنه...
ایا راهی وجود داره که بشه این مشکلو حل کرد؟
سلام
یکی از راه هایی که میشه کار رو سخت کرد ، encode و decode کردن id ی مورد نظر هست. یعنی :
<span onclick="testFunction(1,'<?php echo base64_encode($itemid) ?>')"></span>
به این ترتیب کاربر از عدد واقعی ای که در اینجا بوده آگاهی نداره و فقط یکسری عدد و حروف نا مفهوم رو میبینه. و در جایی که میخواید از این id استفاده کنید (مثلا در کنترلر مورد نظرتون ) باید decode انجام بدید تا id واقعی بدست بیاد :
$id = base64_decode($encodedId);
البته بهتر هست فرمول رو پیچیده تر کنید ، چون توابعی مثل base64 شناخته شده هستند.
<a id="poperbase" href="javascript:void(0)"> <i class="fa fa-heart" aria-hidden="true"></i> </a>
نمیدونم :(
ببینید با کلیک روی تگ a ، ما به صفحه دیگری هدایت میشیم. اما بروزر در صورتی به صفحه دیگر هدایت میشه که اون صفحه واقعا وجود داشته باشه.
زمانیکه اتریبیوت href رو مقدار javascript:void(0) قرار میدیم ، یعنی به بروزر میفهمونیم که با کلیک روی این تگ a قرار نیست صفحه جدیدی رو باز کنه و باید در همین صفحه بمونه (به این دلیل که void(0) مقدار undefined رو برمیگردونه). بطور خلاصه کار این کد این هست که تگ a رو از کار بندازه.
این احتمال وجود داره که مثلا با استفاده از id ـی تگ a ، براش برنامه نوشته شده باشه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .