من هم برای شما و نظرات شما و هرکس دیگه ای احترام قائل هستم دوست من.
ممنون
AJAX می تونه باعث پیشرفت ولی می تونه باعث بروز نا امنی و ... بشه.
كاملا درسته. ولي در صورتي باعث بروز نا امني ميشه كه برنامه نويس به كار خودش وارد نباشه.
AJAX یک تکنولوژی سمت سرویس گیرنده هست (تمامی پردازش ها بر روی کامپیوتر کاربر انجام می شه) و این یک عیب نیست ولی در اثر استفاده غلط می تونه شما رو تو درد سر بندازه .
اما نكته قابل توجه اين هست كه « تمامی پردازش ها بر روی کامپیوتر کاربر انجام
نمی شه » . اي جكس فقط يك لايه بين Client و Server ايجاد مي كنه. پردازش ها توسط Server به AJAX انتقال داده ميشه و AJAX فقط وظيفه داره تا نتايج رو به Client نمايش بده.
متاسفانه بعضی از برنامه نویسان اقدام به نوشتن کنترل پنل مدیریت Full AJAX می کنند و این می تونه کار رو برای هکر ها ساده تر کنه.
سيستم اي ميل گوگل (Gmail) و سيستم ايميل ياهو Full AJAX هستند. بدون شك داراي مشكلات امنيتي بوده اند. اما اين مشكلات امنيتي به خاطر استفاده از AJAX نبوده. به خاطر برنامه نويسيه اشتباه بوده. شما اگر يك سايت رو بدون استفاده از فن آوري AJAX بسازي باز هم ممكن هست در برنامه نويسي اشتباه كني و اين اشتباه باعث بروز برخي مشكلات امنيتي بشه. همچنين اگر سايتي رو با فن آوري AJAX بسازي و در برنامه نويسي اشتباه كني باز هم ممكنه اين اشتباه باعث بروز مشكلات امنيتي بشه.
در حقيقت استفاده از AJAX باعث بروز مشكلات امنيتي
نميشه بلكه
اشتباه در برنامه نويسي باعث بروز مشكلات امنيتي ميشه.
اگر AJAX باعث بروز نا امني ميشد تا الان سيستم ايميل گوگل و ياهو صد ها بار هك شده بودند.
به چند تا دلیل. اولا کاربر دسترسی به سورس داره.
با استفاده از فن آوري AJAX كاربر به هيچ وجه قابليت دسترسي به Sorce Code سايت را نخواهد داشت (مگر اينكه در برنامه نويسي اشتباهي شده باشد).
كاربر تنها به كدهاي AJAX دسترسي خواهد داشت. كه اين مسئله هم چندان مهم نيست. چون هر برنامه نويسي مي دونه كدهاي AJAX بايد بر روي Client قرار بگيره تا اجرا بشه. و اين فقط و فقط مختص AJAX
نيست. بقيه كدهاي HTML و JavaScript هم كه مربوط به AJAX نمي شوند توسط Client قابل دسترسي هستند و اصلا اگر غير از اين باشد دنياي Web و Browser ها معنا پيدا نمي كنند.
دوما راهت تر می تونه برنامه رو صاحب بشه.
متوجه منظورتون از اين جمله نشدم. اگر منظورتون اينه كه كد هاي مربوط به AJAX رو راحت تر صاحب ميشه كه بايد بگم دسترسي به اين كدها همونطور كه گفتم يك مسئله طبيعي هست و در صورتي كه اين كدها در اختيار Browser يا كاربر قرار نگيره كه كسي نمي تونه مطلبي رو در اينترنت ببينه.
اما اگر منظورتون اين هست كه برنامه و كدهاي اصلي كه بر روي سرور قرار داره رو مي تونه صاحب بشه كه بايد بگم اگر در برنامه نويسي AJAX اشتباهي صورت نگرفته باشه انجام چنين كاري (به غير از هك كردن سرور) غير ممكنه.
مثلا شما الان مي توني به راحتي كدها و برنامه اصلي Gmail رو صاحب بشي؟
سوما در صورت استفاده کردن دستورات بی خود و صرفا برای زیبا کردن سایت (تکان دادن فرم روی وب) می تونه Usage CPU کامپیوتر کاربر رو به مرز 70 و 80 برسونه که فشاری در حدود برنامه های سنگینی چون photoshop و ... به پردازنده وارد می کنه که می توه باعث از کارافتادن کامپیوتر کاربر بشه
چنين اتفاقي در زماني رخ ميده كه Browser شما Bug داشته باشه يا يك Browser غير استاندارد و بدرد نخور باشه.
مسائلي كه شما مطرح كرديد هيچ ربطي به فن آوري AJAX نداره و فقط به برنامه نويسيه
DHTML مربوط ميشه.
DHTML هم يك فن آوري هست كه همونطور كه در اسمش نهفته هست وظيفه ي Dynamic كردن صفحات وب رو به عهده داره. مثلا در ميان لينك هايي كه در بالاي همين سايت قرار داده شده لينكي هست به نام « جستجو » كه در صورتي كه بر روش كليك كنيد يك منو باز ميشه. ايجاد چنين منويي توسط فن آوري DHTML صورت مي گيره و براي زيبا كردن و پويا ساختن سايت ها به كار ميره. بعيد ميدونم كسي وقتي رو اين دكمه كليك مي كنه سيستمش هنگ كنه. حتي اگر صدها لينك ديگه مثل همين لينك با منو هاي سنگين تر و بيشتر هم توي يك صفحه قرار بگيرند كامپيوتر هنگ نمي كنه.
امکان داره یه کد یا یه سایت برای نمونه به من نشون بدید ؟
من تمام سعی خودم رو کردم اما نشد.
شاید شما منظور منو درست متوجه نشدید
وقتی شما با استفاده از AJAX صفحات دیگه ای رو بدون تغییر url لود می کنید .. آیا صفحات Bookmark می شوند ؟
دوست عزيز من منظور شما رو دقيقا متوجه شدم. فكر مي كنم شما منظور من رو متوجه نشديد. براتون واضح تر توضيح ميدم :
من گفتم يك برنامه نويس حرفه اي اگر بخواهد از AJAX استفاده كند ، هميشه يك نسخه بدون نياز به AJAX هم درست مي كند. يعني سايت داراي 2 نسخه هست :
1. نسخه بدون AJAX
2. نسخه داراي AJAX
در نسخه شماره 1 هر
صفحه كه نمايش داده ميشه داراي يك URL خاص هست.
در نسخه شماره 2 هر
مطلب كه نمايش داده ميشه داراي يك صفحه خاص در نسخه شماره 1 هست.
اگر فرض كنيم كه URL يك صفحه در نسخه شماره 1 برابر با
http://yourdomain/22/page.php باشد و در نسخه 2 هم ما همين مطالب موجود در اين صفحه را به كاربر نمايش مي ديم بنابر اين با ايجاد يك دكمه و ربط دادن اون به تابع زير مي تونيم اون مطلب رو Bookmark كنيم :
HTML:
<script language="JavaScript" type="Text/Javascript">
var urlAddress = "http://yourdomain/22/page.php";
var pageName = "Your Description For Page";
function addToFavorites() {
if (window.external) {
window.external.AddFavorite(urlAddress,pageName)
} else {
alert("Sorry! Your browser doesn't support this function.");
}
}
</script>
Site Map می تونه باعث راحت تر شدن کار موتور های جست و تاثیر چندانی بر روی سایت هایی که به همون ترتیبی که گفتم صفحات رو لود می کنند نداره !
در اين مورد هم شما منظور من رو متوجه نشديد. موتور هاي جستجو با URL هاي حقيقي ارتباط بر قرار مي كنند نه URL هاي مجازي. نسخه ي شمار 1 از سايت داراي URL هاي حقيقي هست. بنابر اين با ايجاد يك Site Map ميشه URL هاي حقيقي رو به موتورهاي جستجوگر گزارش داد.
شما توی صحبت هاتون نام برنامه نویس حرفه ای رو میارید ولی تا اونجایی که از اسم تاپیک و نحوه عملکردش معلومه برای کاربران غیر حرفه ای هست. و این توضیحات صرفا برای کسانی بود که با آژاکس آشنایی ندارند.
اسم اين تاپيك مراجع AJAX هست. حتي حرفه اي ترين برنامه نويسان هم خيلي از مطالب رو نمي دونن.
موفق باشيد