دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Richie Miller
سری:
ناشر: Pastor Publishing Ltd
سال نشر: 2023
تعداد صفحات: 261
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 7 Mb
در صورت تبدیل فایل کتاب jаvascript Programming: 3 In 1 Security Design, Expressions And Web Development به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه نویسی جاوا اسکریپت: طراحی امنیتی، عبارات و توسعه وب 3 در 1 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
اگر می خواهید بدانید که چگونه با جاوا اسکریپت کار کنید، این کتاب برای شما مناسب است! وب اجرا شده بر روی جاوا اسکریپت زبان برنامه نویسی غالب برای نوشتن برنامه های مرورگر است و به لطف زمان اجرا Node.js، مشاهده آن در قسمت پشتی نیز به طور فزاینده ای رایج است. کیفیت کد جاوا اسکریپت برای امنیت برنامه های کاربردی وب بسیار مهم است. با این حال، این کتاب در مورد امنیت عمومی برنامه های وب نیست. ما به مشکلاتی که می تواند بر برنامه های نوشته شده در هر زبان برنامه نویسی تأثیر بگذارد رسیدگی نخواهیم کرد. ما روی مسائل امنیتی که منحصر به جاوا اسکریپت هستند و نتیجه ماهیت پویای آن هستند تمرکز خواهیم کرد. من به شما یاد خواهم داد که چگونه چنین آسیب پذیری هایی را شناسایی کنید، چگونه آنها را برطرف کنید و از نفوذ آن مسائل به کد خود جلوگیری کنید. ابتدا، ما بر نقش اساسی جاوا اسکریپت در امنیت برنامه های وب تمرکز خواهیم کرد. جاوا اسکریپت میتواند حاوی آسیبپذیریهایی باشد، اما در برخی موارد حتی ممکن است به یک بردار حمله تبدیل شود. دو محیط محبوب برای اجرای کد جاوا اسکریپت وجود دارد و هر دوی آنها ویژگی های امنیتی بسیار متفاوتی دارند. ابتدا نگاهی به نحوه اجرای javascript مرورگرها خواهیم داشت و سپس خواهیم دید که Node.js چگونه متفاوت است. سپس، ویژگیهای زبانی را که ممکن است منجر به آسیبپذیریهای امنیتی، تایپ پویا، اجرای کد پویا و وراثت نمونه اولیه شود را بررسی خواهیم کرد. ما با مثالی از یک اشتباه کدگذاری ساده، به معنای واقعی کلمه فقط یک کاراکتر گم شده، که منجر به نشت قابل توجهی از داده های حساس می شود، پایان می دهیم. متخصصان امنیت اطلاعات برای استفاده از اصطلاحات خاص به خوبی شناخته شده اند. ما در اینجا از آن استفاده نخواهیم کرد، اما درک برخی از مفاهیم اساسی امنیت وب مهم است. حملات علیه برنامه های کاربردی وب توسط افراد انجام می شود. ممکن است تصویری از شخصی با هودی مشکی داشته باشید که روی صفحه کلید خود در زیرزمین خود تایپ می کند، اما واقعیت بسیار ظریف تر است. مهاجمان بر اساس توانایی ها و انگیزه هایشان متفاوت هستند. آنها میتوانند نوجوانانی باشند که میخواهند دوستان خود را تحت تأثیر قرار دهند، کارمندان اخراج شدهای که به دنبال انتقام هستند و همچنین مجرمانی که برای دریافت پول به برنامهها نفوذ میکنند. حملات بدون آسیب پذیری امکان پذیر نخواهد بود. آسیبپذیریها نقصهای فنی در سیستم هستند که به افراد با نیت مخرب اجازه میدهند به برنامهها و سیستمهای ما نفوذ کنند. آنها می توانند اشکالات ساده در کد، نقص های اساسی معماری یا اشتباهات پیکربندی باشند. همه آنها می توانند منجر به نقض اطلاعات شوند. مواردی که معمولاً در سرفصل ها قرار می گیرند در مورد افشای میلیون ها پرونده حساس اطلاعاتی مانند شماره کارت اعتباری هستند. نقض داده ها همچنین می تواند شامل سوء استفاده از عملکرد برنامه باشد، به عنوان مثال نسبت به کالاهای آنها بدون پرداخت هزینه یا دریافت بازپرداخت برای کالاهایی که از ابتدا هرگز خریداری نشده اند. رایجترین معماری برنامههای وب دارای سه سطح است، مرورگر، سرور، و کد جاوا اسکریپت پایگاه داده میتواند هم در مرورگر و هم در دستگاه کاربر، مانند لپتاپ یا گوشی هوشمند، یا روی سرور با استفاده از Node.js اجرا شود. آسیبپذیریهای کد ممکن است به مهاجمان اجازه دهد تا دسترسی به دادههای برنامه را نقض کنند. یک حمله موفقیت آمیز در پایگاه داده ممکن است منجر به نقض داده شود که بسیاری از کاربران را درگیر می کند. تأثیر یک آسیب پذیری در کد معمولاً به یک کاربر محدود می شود. به نظر یک خبر خوب است. متأسفانه، اشکالات موجود در کد جاوا اسکریپت که در یک مرورگر اجرا می شود ممکن است به مهاجمان اجازه دهد که هویت قربانی را جعل کنند و اقداماتی را از طرف او انجام دهند. در این حالت، کد جاوا اسکریپت آسیب پذیر تبدیل به یک بردار حمله می شود. Node.js یک محیط زمان اجرا برای جاوا اسکریپت بر اساس موتور V8 ساخته شده برای مرورگر گوگل کروم است. نکته غیرمعمول در مورد آن این است که به کد جاوا اسکریپت اجازه می دهد خارج از مرورگر اجرا شود. این محبوبیت زیادی به دست آورده است و ثابت کرده است که یک ابزار محبوب برای ساخت برنامه های خط فرمان و برنامه های وب است. از منظر امنیتی کاملاً با مرورگر متفاوت است. مرورگرها کد را دانلود می کنند و Node.js کد را از فایل های محلی بارگیری می کند، درست مانند سایر زبان های برنامه نویسی محبوب. مدل مجوزها نیز متفاوت است. مرورگرها کد را غیرقابل اعتماد میدانند و قابلیتهایی را که به آنها دسترسی دارد محدود میکنند، و Node.js با کد با اعتماد کامل برخورد میکند و به تمام امتیازاتی که کاربر سیستم عامل به آنها دسترسی دارد، از جمله دستگاهها، فایلها و شبکه محلی، دسترسی میدهد. حملات مبتنی بر یک آسیبپذیری امنیتی در مرورگر ممکن است بر یک قربانی تأثیر بگذارد. اشکالات موجود در Node.js ممکن است امکان به خطر افتادن کامل سرور را فراهم کند و به طور بالقوه منجر به نقض جدی داده شود.
If you want to discover how to work with jаvascript, this book is for you! The web runs on jаvascript is the dominant programming language for writing browser applications, and thanks to the Node.js runtime, it is increasingly common to see it in the back end too. The quality of jаvascript code is crucial for security of web applications. This book, however, is not about general web application security. We will not address problems that can affect applications written in any programming language. We will focus on security issues that are unique to jаvascript, and they are a result of its dynamic nature. I will teach you how to identify such vulnerabilities, how to fix them, and prevent those issues from creeping into your code. First, we will focus on the fundamental role that jаvascript plays in web application security. jаvascript can contain vulnerabilities, but in some cases it may even become an attack vector. There are two popular environments for running jаvascript code, and both of them have very different security properties. First, we will take a look at how browsers run jаvascript, and then we will see how Node.js is different. Then, we will look at language features that may lead to security vulnerabilities, dynamic typing, dynamic code execution, and prototypal inheritance. We will wrap up with an example of a simple coding mistake, literally just a missing character, that leads to a significant leak of sensitive data. Information security professionals are well known for specific jargon to use. We will not use it here, but it is important to understand some basic concepts of web security. Attacks against web applications are carried out by people. You may have an image of a person in a black hoodie typing at their keyboard in their basement, but the reality is much more nuanced. Attackers differ based on their capabilities and motivations. They can be teenagers wanting to impress their friends, fired employees seeking revenge, as well as criminals breaking into applications for money. Attacks would not be possible without vulnerabilities. Vulnerabilities are technical flaws in the system that allow people with malicious intent to break into our applications and systems. They can be simple bugs in the code, fundamental architecture flaws or configuration mistakes. All of them can lead to data breaches. Those that usually hit the headlines are about leaking millions of sensitive data records, such as credit card numbers. Data breaches can also involve abusing application functionality, for example toward their goods without paying or getting a refund for goods that were never purchased in the first place. The most common web application architecture has three tiers, the browser, the server, and the database jаvascript code can run both in the browser and the user's device, such as a laptop or smartphone, or on the server using Node.js. Vulnerabilities in code may allow attackers to breach access to the application datastore. A successful attack in a database may lead to a data breach that involves many users. The impact of a vulnerability in code is typically limited to a single user. That sounds like good news. Unfortunately, bugs in jаvascript code running in a browser may allow attackers to impersonate the victim and to perform actions on their behalf. In this case, the vulnerable jаvascript code becomes an attack vector. Node.js is a runtime environment for jаvascript based on the V8 engine built for the Google Chrome browser. The unusual thing about it is that it allows jаvascript code to run outside of the browser. It has gained a lot of popularity and has proven to be a popular tool to build command line programs and web applications. It is quite different from the browser from a security perspective. Browsers download the code, and Node.js loads the code from local files, much like other popular programming languages. The permissions model is also different. Browsers treat the code as untrusted and restrict capabilities it has access to, and Node.js treats the code with full trust and grants access to all the privileges the operating system user has access to, including devices, files, and the local network. Attacks based on a security vulnerability in a browser may affect one victim at a time. Bugs in Node.js may allow for full server compromise, potentially leading to a serious data breach.