مقدمه:
تار جهان گستر (Word wide web) دنیای عجیبی است که تکنولوژی های مربوط به آن، اغلب بدون پشتیبانی کافی، عرضه میشوند و کاربران این تکنولوژی ها، همه روزه با واژگان جدیدی بر خورد میکنند، که باعث سر در گمی آنها میشوند.
برای نمونه میتوان به رشد نرم افزارهای open source اشاره کرد (برنامه هایی که میتوان آنها را گسترش داد و یا تغییراتی در ساختار آنها ایجاد کرد.) متداولترین این برنامه ها، سیستم عامل Unix، و به طور خاص Linux، میباشد. این برنامه ها، با وجود ثبات و پایداری و دارای یک مشکل بزرگ میباشند و آن دشوار بودن آموختن این برنامه ها میباشد. کمبود راهنمایی که به زبان ساده، این برنامه ها را به مبتدیان آموزش دهد، باعث شده است که این دسته از نرم افزارها از جایگاه واقعی خود دور نگاه داشته شوند. PHP، یکی از زبانهای اسکریپتی open source، ابزار مفیدی میباشد که تا کنون علی رغم سادگی استفاده از آن، هنوز به طور شایسته از آن استقبال نشده است.
این کتاب شما را برای آموزش زبان PHP راهنمایی خواهد کرد. به عبارت دیگر نه تنها مقدماتی از این زبان را به شما ارائه میدهد. بلکه منابعی برای دسترسی به اطلاعات پیشرفته تر را نیز معرفی میکند. با استفاده از این کتاب شما دانش کافی برای آغاز به کار ایجاد سایت های دینامیک وب توسط PHP را کسب میکنید.
PHP چیست؟
PHP که در ابتدا در سال 1994 توسط Rasmus Lerdorf ایجاد شد، مخفف واژگان Personal Home Pages به حساب میآمد . با گسترش قابلیتها و موارد استفاده این زبان، PHP در معنای Hypertext Prprocessor به کار گرفته شد. (عبارت پیش پردازشگر Prprocessor بدین معنی است که PHP، اطلاعات را قبل از تبدیل به زبان HTML، پردازش میکند.
PHP یک زبان اسکریپتی سمت سرویس دهنده embeded HTML، Cross-Platform، (Server-side)
سمت سرویس دهنده بودن PHP، بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (server) انجام میگیرد. یک سرویس دهنده، در حقیقت یک کامپیوتر مخصوص میباشد که صفحات وب در آنجا نگهداری میشوند و از آنجا به مرورگر کاربران منتقل میشوند. چگونگی انجام این روند، در ادامه این قسمت، توضیح داده میشود (به قسمت PHP چگونه کار میکند؟ مراجعه کنید)
منظور از Cross-Platform بودن این زبان، این است که بر روی هر سیستم و با هر سیستم عاملی از قبیل O2/2، Macintosh، Windows NT،Unix، اجرا میشود. توجه کنید که منظور از این سیستم عاملهایی میباشند که بر روی سرویس دهنده نصب میشود. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا میباشد، بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج به تغییرات اندکی خواهید داشت و حتی در بعضی از موارد، بدون احتیاج به هیچ تغییری میتوانید، یک برنامه به زبان PHP را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
منظور از HtML embeded بودن PHP این است که دستورات این زبان در بین کدهای HTML قرار میگیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان HTML، به حساب میآید.
PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان استکریپتی (Scripting Language) میباشد. به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (event) اجرا میشوند. این رویدادهای میتوانند شامل ارسال یک فرم، رفتن به یک URL[1]مشخص و یا موارد دیگر باشند. متداولترین زبان اسکریپتی زبان Java Script میباشد که معمولا برای پاسخ به رویدادهای کاربر در مرور گر وب، به کار میرود.
تفاوت عمده java Script با PHP در این است که java Script یک تکنولوژی سمت سرویس گیرنده (Client-Side) میباشد. زبانهایی مانند java Script یا PHP، تفسیر شونده (inteprted) نامیده میشوند. به عبارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا میباشند.
به چه دلیلی از PHP استفاده میکنیم؟
PHP در مقایسه با تکنولوژی های مشابه برای طراحی یک سایت وب میتوان به این موارد اشاره کرد: اسکریپت های (Common Gateway CGI (Interface که معمولا به زبان Perl نوشته میشوند، (java Script Pages) JSP ، (Active Server Pages) java Script به عنوان یک گزینه جایگزین برای PHP در نظر گرفته نمی شود، زیرا بر خلاف PHP، یک تکنولوژی سمت سرویس گیرنده است و همانند تکنولوژی هایی مانند CGT PHP، نمی تواند یک صفحه HTML را تولید کند
مزیتی که PHP در مقابل HTML دارد این است که HTML یک سیستم محدود به حساب میآید و توانایی ایجاد ارتباط متقابل با کاربر را ندارد. کاربران هنگامی که با یک صفحه HTML مواجه میشوند، تنها یک وب صفحه ساده را روبروی خود مشاهده میکنند که توانایی ایجاد واکنش به اعمال کاربر را ندارد. اما با استفاده از PHP، شما میتوانید صفحاتی را ایجاد کنید که برای مثال عناصر موجود در صفحه بر اساس سیستم عامل کاربر و یا تاریخ مشاهده صفحه، تنظیم شوند. همچنین PHP میتواند با فایل ها یا پایگاههای داده |(Database) ارتباط برقرار کند و بسیاری عملیات دیگر که HTML قادر به انجام به آنها نمی باشد. طراحان صفحات وب، از مدتها پیش به این نتیجه رسیدند که اگر در صفحات خود، فقط ار کدهای HTML استفاده کنند.، باید به طور مرتب آنرا تغییر دهند و اطلاعات آنرا به روز کنند. به همین علت، تکنولوژی هایی مانند CGI از همان آغاز، طرفداران بسیاری پیدا کردند. این تکنولوژی ها به طراحان انی امکان را میداد که برنامه هایی ایجاد کنند که به صورت دینامیک، صفحات وب را تولید کنند. همچنین در هنگام ارتباط با یک پایگاه داده، بدون دخالت هر انسانی، صفحات به روز آوری میشدند.
متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است
رمزنگاری کلید عمومی وrsa :
مروری کوتاه:
رمزنگاری کلید مخفی: رمزنگاری سنتی کلید مخفی؛ از یک کلید تنها که بین هر دو طرف گیرنده و فرستنده به اشتراک گذاشته شده است استفاده می کند.اگر این کلید فاش شود ارتباط به خطر می افتد.همچنین این روش از گیرنده در برابر پیام های جعلی ارسال شده که ادامی کنند از طرف فرستنده ی خاصی می ایند محافظت نمی کند.
رمزنگاری کلید عمومی: این روش که رمزنگاری دوکلیده نیز خوانده می شود از دو کلید برای عمل رمز نگاری استفاده می کند:
یکی کلید عمومی که توسط همه شناخته شده است.و برای به رمز درآوردن پیغام ها و تشخیص امضا ها مورد استفاده قرار می گیرد.
دیگری کلید خصوصی که فقط گیرنده از آن اطلاع دارد و برای رمز گشایی پیغام و همچنین ایجاد امضا مورد استفاده قرار می گیرد.
اشکال سیستمهای کلید مخفی:
یک از اشکال های الگوریتم های بر پایه کلید متقارن این است که شما نیاز به یک روش مطمئن برای انتقال کلید های طرفین دارید.به این مفهوم که یا از یک کانال امن این کار را انجام دهند یا به منظور انتقال کلید همدیگر را ملاقات کنند.این میتواند یک مشکل بزرگ باشد
و قطعا کارآسانی نیست.اشکال دیگر این روش این است که شما برای ارتباط با هر شخصی کلیدی جداگانه نیاز دارید.
سناریوی ارتباط:
آلیس وباب می خواهند با هم مکالمه مطمئنی داشته باشند طوری که کس دیگری از اطلاعات مبادله شده در این مکالمه با خبر نشود.درهمین زمان Eve در حال استراق سمع است.
آلیس و باب میتوانند خلبان دو جت نظامی یا دو تاجر اینترتی یا فقط دو دوست باشند که می خواهند با هم یک مکالمه ی خصوصی داشته باشند.آنها نمی توانند Eve را از گوش دادن به سیگنال رادیوی یا اطلاعات مبادله شده از طریق تلفن و .. باز دارند.پس چه کاری می توانند انجام دهند تا این ارتباط مخفی بماند؟
رمزنگاری کلید خصوصی:
یک راه حل این است که آلیس و باب یک کلید دجیتالی را مبادله کنند.بعد وقتی هر دو از آن کلید آگاه شدند(ولی دیگران از آن بیخبرند).آلیس از این کلید استفاده می کند تا پیغام ها را به رمز کرده و به باب بفرستد.باب نیز پیغام اولیه را با استفاده از این کلید و رمزگشایی پیغام بازسازی می کند.پیغام رمز شده برای Eve قابل استفاده نیست .او کلید را نمیداند پس نمی تواند پیغام اصلی را باز یابی کند.با یک الگوریتم رمزنگاری خوب این طرح قابل اجراست. ولی مبادله کلید به طوری که این کلید از Eve مخفی بماند یک معضل است.این کار واقعا نیاز به یک ارتباط رودرو دارد که همیشه امکان پذیر نیست.
رمز نگاری کلید عمومی: این رمزنگاری به صورت متفاوتی عمل می کند.زیرا کلید را به دو قسمت کلید عمومی برای به رمز در آوردن و کلید خصوصی برای رمزگشایی تقسیم می کند.این ممکن نیست که کلید خصوصی از کلید عمومی قابل تعیین باشد.همان طور که در شکل می بینید؛باب یک جفت کلید تولید می کند.یکی از کلیدها کلید عمومی است که باید به اطلاع عموم (از جمله Eve) برسد. و دیگری کلید خصوصی که فقط خود باب از آن اطلاع دارد.هر کسی می تواند از کلید عمومی باب برای ارسال پیغام به او استفاده کنند.ولی فقط باب می تواند.از کلید خصوصی خودش برای رمز گشایی پیغام ها استقاده کند.این طرح به آلیس و باب اجازه می دهد تا یک ارتباط امن را بدون ملاقات کردن هم داشته باشند.
متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است