اسفند 91 - وبسایت دکتر امیر مرتضی سعیدی

بازیابی رمز عبور ورود به Windows

دوشنبه 91/12/14
11:57 عصر
amirsaeedi

بازیابی رمز عبور ورود به Windows


زبان: فارسی نویسنده: حمید رضا نیازکار
نوع فایل: PDF
تعداد صفحات: 7    

|     |  

 

حجم کتاب: 389 کیلوبایت
توضیحات کوتاه

اگر رمز عبور ورود به ویندوز را فراموش کردید و یا می خواهید بدون دانستن رمز عبور وارد سیستم عامل کسی شوید این کتاب کلید شماست.



مفهوم معماری سه لایه در سیستم های نرم افزاری

دوشنبه 91/12/14
11:50 عصر
amirsaeedi

معماری چند لایه : n-Tier
به طور کلی در معماری چند لایه , هر لایه T , سرویسهایی رو از لایه قبلی خودش T-1 دریافت و سرویسهایی رو به لایه بعدی خودش یعنی T+1 ارائه میده .

معماری سه لایه :
یکی از انواع معماری های چند لایه معماری سه لایه هست Three Tier ... ایده بوجود اومدن معماری سه لایه بعد از بوجود اومدن Web Page های Dynamic بود .
در این معماری Object های نرم افزار در سه لایه طراحی میشن .
بخش ها یا لایه های اصلی نرم افزار در این معماری عبارتند از :

1 - Presentation Layer : یا همون لایه Interface نرم افزار ... فرمها , واسطها و منوهاییو هر چیزی که برای کاربر قابل رویت باشه , در نرم افزارهای تجاری و کاربردی همگی در لایه نمایش یا Presentation قرار دارن .

این لایه در ارتباط با کاربر هست .

2 - Business Logic Layer : یا لایه تجاری ... که در بر گیرنده منطق اصلی برنامه هست .
در این لایه اعمال اصلی نرم افزار با استفاده از همکاری با لایه های پایین و بالا انجام میشه . در این لایه کار های مرتبط با DataBase وجود نداره و این وظایف تماما به لایه Data Access سپرده میشه .
این لایه در ارتباط با تیم برنامه نویسی هست.

3 - Data Access Layer : لایه دسترسی به داده ها ... پایین ترین لایه در معماری سه لایه و البته مهمترین لایه در معماری سه لایه .
این لایه در رتباط با تیم مدیریتی و تیم برنامه نویسی هست .

مزایای معماری سه لایه :
مهمترین دساورد معماری سه لایه : استقلال قسمتهای مختلف پروژه با همدیگست .
تغییر زمینه کاربرد در حداقل زمان ... مثلا برنامه از Win App به Web App تبدیل بشه یا DataBase برنامه رو میشه به راحتی تغییر داد .

معایب معماری سه لایه :
از معماری سه لایه برای پروژه های کوچیک نمیشه استغاده کرد به علت حجم زیاد فایلها در این معماری .
Performance برنامه در معماری سه لایه پایینه چون ارتباطات لایه ها در این معماری زیاده .



معماری سیستم

دوشنبه 91/12/14
11:49 عصر
amirsaeedi

معماری سیستم: در کل به طراحی مدارهای مجتمع در داخل ساختار میکروپرسسورها مربوط می شود.
Cpu= central processor unit

حالا این مدارهای مجتمع چیست؟
نسل اولی از cpu ها که ارائه شدند لامپ های خلا بودند.
نسل دوم ترانزیستورها
نسل سوم مدارات مجتمع؛(IC ها)
نسل چهارم ریزپردازنده ها
نسل پنجم کامپیوترهای هوشمند

از این طبقه بندی می تونیم نتیجه بگیریم که مدارات مجتمع از ترانزیستورها که نسلی از cpu بودند تشکیل شده.
برای تعریف دقیق تر معماری می تونم بگم که سخت افزارها در کامپیوتر به نوعی با هم ارتباط دارند. برنامه ها اگر بخواهند در سیستمی کار کنند باید با اون هماهنگ باشند. یعنی هر سیستم عاملی از جمله ویندوز و لینوکس و free BSD و... باید از نظر نوع کامپایل در هر کامپیوتری هماهنگی داشته باشند.
یعنی وقتی ما کامپایل شده ی یک سیستم عاملی رو در اختیار داریم باید روی کامپیوتری سیستم عامل رو نصب کنیم که مشابه سیستمی باشه که با اون کامپایل شده. یعنی از لحاظ سخت افزاری، سیستم عامل باید با سخت افزارهای کامپیوترمون match بشه. مثلا یک ویندوز 64bit توی یک کامپیوتر 32bit نمی تونه RUN بشه.

خب تا حالا فهمیدیم که معماری کامپیوتر یعنی چی! حالا معماری ای که شرکت های مختلف برای کامپیوترهای خودشون طراحی کردند با هم فرق داره.

معماری ای رو که شرکت IBM برای تولیدات خود دارد با هم فرق دارند. مثلا cpu های intel و AMD که محصول این شرکت هستند معماری متفاوت خود را دارند.
یا شرکت macintosh پردازشگرهای خودش رو با معماریMotorola وارد بازار کرد که البته بعدا برای این که سیستم عامل mac روی انواع کامپیوترها از جمله pc های خودمون اجرا بشه از معماری intel X86 استفاده کرد.
در این صورت سیستم عامل mac تنها منحصر به کامپیوترهای mac نخواهد بود!
Cpu موجود در mac اولیه Motorola 68000 بود که سرعت پایینی داشت (8 MHZ). بعد از ارتقا سیستم عامل mac به mac os x 10.5 تنها روی cpu های پیشرفته با معماری SSE2 یا SSE3 هخونی داشت.

خب برمی گردیم به اینتل که موضوع اصلی بحث من بوده.
معماری intel برحسب XX86 می باشد. که x اول برمیگرده به شرکت سازنده یعنی intel و X بعدی شماره نسل رو نشون میده. مثلا i386 یا i686 که دو نوع معماری هستند که در کامپیوترهایی که برای اینتل ارائه می شوند خواهیم داشت. که i686 برمیگرده به cpu ای با core 2 Due.

با اجرای دستور زیر در shell سیستم عاملی چون لینوکس می تونید مشخصات cpu خودتون رو ببینید:
Cat /proc/cpuinfo
و همچنین با اجرای این دستور میشه به نوع معماری سیستم خودمون پی ببریم:
Uname –m
و یا با دستور arch



تقویم 92

پنج شنبه 91/12/10
2:36 صبح
amirsaeedi

فروردین
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
1 - جشن نوروز - جشن سال نو 2 - نوروز 3 - نوروز 4 - نوروز 12 - روز جمهوری اسلامی ایران 13 - سیزده بدر 25 - روز بزرگداشت عطار نیشابوری 25 - شهادت حضرت فاطمه زهرا (س)

 


اردیبهشت
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
1 - روز بزرگداشت سعدی 3 - روز بزرگداشت شیخ بهایی 10 - روز ملی خلیج فارس 11 - میلاد حضرت فاطمه زهرا و روز زن و مادر 12 - روز معلم 25 - روز بزرگداشت فردوسی 28 - روز بزرگداشت حکیم عمر خیام نیشابوری

 


خرداد
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 - ارغاسوان، جشن گرما / روز بزرگداشت ملاصدرا 2 - زادروز امام علی (ع) 6 - جشن خردادگان 14 - درگذشت آیت الله خمینی 15 - قیام پانزده خرداد 16 - مبعث پیامبر اسلام (ص) 29 - درگذشت دکتر علی شریعتی

 


تیر
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
3 - زادروز امام قائم (ع) 6 - جشن نیلوفر 15 - جشن خام خواری

 


مرداد
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
4 - شب قدر 6 - شب قدر 7 - جشن مردادگان 7 - شهادت امام علی (ع) 8 - شب قدر 10 - جشن چله تابستان 17 - عید فطر

 


شهریور
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
1 - روز بزرگداشت ابوعلی سینا، روز پزشک / فغدیه، جشن خنکی هوا 4 - جشن شهریورگان 8 - خزان جشن 10 - شهادت امام جعفر صادق (ع) 13 - روز بزرگداشت ابوریحان بیرونی 15 - بازارجشن 27 - روز بزرگداشت شهریار، روز شعر و ادب پارسی 31 - جشن پایان تابستان

 


مهر
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
1 - جشن میتراکانا 8 - روز بزرگداشت مولوی 13 - تیرروز، جشن تیرروزِی 16 - جشن مهرگان 20 - روز بزرگداشت حافظ 21 - جشن رامروزی / جشن پیروزِی کاوه و فریدون 22 - روز عرفه 23 - عید قربان

 


آبان
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
1 - عید غدیر 8 - روز نوجوان 10 - جشن آبانگان 13 - روز دانش آموز 14 - آغاز سال 1435هجری قمری 15 - جشن میانه پاییز 22 - تاسوعا 23 - عاشورا

 


آذر
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
1 - آذرجشن 9 - جشن آذرگان 16 - روز دانشجو 30 - جشن شب یلدا (چله)

 


دی
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
1 - روز میلاد خورشید، جشن خرم روز 3 - اربعین 5 - بازارجشن 11 - آغاز سال 2014 میلادی 11 - درگذشت پیامبر اسلام / شهادت امام حسن مجتبی (ع) 14 - سیرسور، جشن گیاه خواری 20 - شهادت میرزا تقی خان امیرکبیر 29 - زادروز پیامبر اسلام و امام جعفر صادق (ع)

 


بهمن
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
1 - زادروز فردوسی 2 - بهمن روز، جشن بهمنگان 5 - جشن نوسره 10 - جشن سده 12 - آغاز دهه فجر 15 - جشن میانه زمستان 19 - روز نیروی هوایی 22 - پیروزی انقلاب اسلامی / جشن بادروزی

 


اسفند
شنبهیکشنبهدوشنبهسه شنبهچهارشنبهپنج شنبهآدینه
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29  
1 - جشن اسفندی / جشن آبسالان 5 - جشن اسفندگان، گرامیداشت زمین و بانوان / روز بزرگداشت خواجه نصیرالدین طوسی، روز مهندسی 15 - روز درختکاری 19 - جشن نوروز رودها 20 - جشن گلدان 27 - چارشنبه سوری 28 - چارشنبه آخر 29 - جشن پایان زمستان / زادروز زرتشت / ملی شدن صنعت نفت


توابع و پرس جوهای MySQL در یک نگاه

یکشنبه 91/7/16
12:51 عصر
amirsaeedi

در این مقاله سعی شده تا نگاهی به توابع و پرس و جوهای ابتدایی MySQL و ساختار MySQL در PHP بیاندازیم.

حتما می دانید که زبان SQL کوتاه شده ی عبارت Structured Query Language به معنی زبان پرس جوی ساخت یافته (نظم و ترتیب داده شده) است. با اینکه ساختار کلی زبان های SQL همانند هم هستند اما هیچ وقت نمی توان پرس جوهای مثلا MySQL را برای سایر زبان های SQL مانند MSQL یا Postgre SQL و... بکار برد.ما در این مقاله در مورد MySQL صحبت خواهیم کرد:
در کل پرس جوهای MySQL از جملات بسیار ساده و خوانایی تشکیل شده که با دانستن ساختار آن براحتی می توانید احتیاجات خود را برطرف نمایید. البته همین ساختار و جمله بندی ساده ی انگلیسی موجب می شود که گاهی اوقات پیام های خطای بی موردی را ازطرف بانک اطلاعاتی دریافت نماییم که معمولا یا یکم دستکاری کد به نتیجه ی دلخواه خواهیم رسید!.

درضمن برای یادگیری SQL فقط برای نیاز خود احتیاجی به خواندن کتاب یا ... نیست اما اگر می خواهید زبان های SQL را به صورت گسترده مطالعه نمایید کتاب "خودآموز SQL در 21 روز" می تواند مرجع کاملی باشد.

اتصال و انتخاب بانک اطلاعاتی
خوب حالا بریم سر اصل مطلب.:اولین کاری که در یک اسکریپت باید انجام بدیم اینه که به بانک اطلاعاتی MySQL خودمون وصل بشیم. این کار از طریق تابعی با نام MySQL_connect و MySQL_pconnect صورت می گیرد که در ادامه فرق این دو نیز می خونید.
تابع MySQL_connect برای انجام کار خود به سه تا آرگومان اجباری نیاز داره ( به ترتیب: نوع سرور(معمولا Localhost) ، نام کاربری، کلمه ی عبور). در پایین مثالی رو مشاهده می کنید که توسط کاربر root و بدون استفاده از کلمه ی عبور به بانک اطلاعاتی متصل شدیم:

PHP Code:1 [hide]<?


mysql_connect("localhost","root","") or print ("Couldnt Connect to MySQL"
);

?>
همانطور که در بالا مشاهده می کنید درصورتی که برنامه ی ما نتواند به بانک اطلاعاتی متصل شود پیغام خطای مشخصی را بازمی گرداند.

خوب بعد از اتصال باید دیتابیسی رو که از قبل درست شده رو به برناممون معرفی کنیم. برای اینکار هم یک تابع با ساختار بسیار ساده وجود دارد به نام mysql_select_db که یک آرگومان اجباری و یک آرگومان اختیاری رو برای انجام کارش میخواد.اولین آرگومان نام دیتابیس شما هست و دومین آرگومان که اختیاری هست نام متغیری است که با اون به MySQL متصل شدیم.(در کد زیر کاملا مشخص می شود)

PHP Code:2 [hide]<?


$link=mysql_connect("localhost","root","") or print ("Couldnt Connect to MySQL"
);

mysql_select_db("test_data",$link
);

?>
در کد بالا سعی شده که بعد از اتصال به بانک اطلاعاتی دیتابیسی با نام "test_data" رو به برناممون معرفی کنیم.
خوب حالا می خوام دوتا تابع ارزشمند MySQL رو بهتون معرفی کنم با نام های mysql_error و mysql_erno. این دوتا تابع پیغام های خطای دریافت شده توسط Mysql رو درخود ذخیره میکنند و در جای مشخص شده برروی صفحه ی مرورگر به نمایش در می آورند (اولی متن پیام خطا و دومی شماره ی خطا) حالا کافی است به جای پیغام خطای خودمون از این توابع استفاده نماییم:

PHP Code:3 [hide]
<?


mysql_connect("localhost","root","1231") or print (mysql_error
());

mysql_select_db("test_data"
);

?>

در کد بالا سعی شده تا با شناسه "root" و رمز عبور "1231" به بانک اطلاعاتی وصل بشیم و بعلت اشتباه بودن پیام خطای زیر را دریافت می کنیم:
Couldnt open test_data: access denied for user : root@localhost using password (yes) to database "test_data"


برای قطع اتصال از بانک های اطلاعاتی MySQL نیز می توان از تابع mysql_close استفاده کرد:

PHP Code:4 [hide]
<?


$link=mysql_connect("localhost","root","1231") or print (mysql_error
());

mysql_close($link
);

?>




تا یادم نرفته،: فرق بین mysql_connect و mysql_pconnect اینه که mysql_pconnect فقط مخصوص سرورهای Apache هست و تنها فرقشون هم اینه که برای mysql_pconnect تفاوتی نداره که شما از تابع mysql_close استفاده بکنید یا نه، زیرا تا آخر اسکریپت شما این اتصال پا برجا باقی خواهد ماند!.

ساخت جدول


خوب حالا دیگه کم کم داریم به جاهای خوبش میرسیم!:برای انجام هرنوع پرس جو در بانک های اطلاعاتی MySQL باید از تابعی با عنوان mysql_query استفاده کنیم (query به معنای پرس جو). با استفاده از این تابع ابتدا جدولی رو دردیتابیس test_data بوجود میاریم:

PHP Code:5 [hide]<?
mysql_connect("localhost","root","") or die (mysql_error());


mysql_select_db("test_data"
);

mysql_query(
"CREATE TABLE mytable (

id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
jender VARCHAR(20) NOT NULL,
PRIMARY KEY (id))"
) or die (mysql_error
());



?>


خوب حالا فکر نکنین همینجوری این کد رو با شما به امان خدا رها میکنم .خوب در خط چهارم تابع مورد بحث شروع میشه که در خط اولش فرمان "CREATE TABLE $table_name" رو صادر کردیم،
در خط دومش یک جدولی با نام id با ساختاری ساده ساختیم. در ادامه ی این خط گفتیم که نوع داده های این جدول از نوع INT یعنی عدد صحیح می باشد و خالی از مقدار نیز نباشد (NOT NULL) و مقدار آن نیز بطور خودکار افزایش پیدا کند (AUTO_INCEREMENT) این جدول یکی از مهمترین جدولهاست که باید در تمام دتابیس هام.ن اونو داشته باشیم (از تکرار و ایجاد پیغام خطا بعلت تکراری بودن جلوگیری میکند، درپرس جوها کار را راحت تر میکند البته برای مورد اول که گفته شد در ادامه توضیح خواهیم داد).
در خط سومش جدولی با نام "name" ایجاد کردیم. در ادامه گفتیم که نوع داده به این جدول یک نوشته ی معمولی کوتاه با حداکثر تعداد کارکتر 50 تایی می باشد و طبق معمول خالی از مقدار.
خط چهارم هم دقیقا مثل خط سوم عمل کردیم.
و اما در خط پنجمش جدول اصلی رو مشخص کردیم که این کار نیز الزامی است و به طور معمول و بهتر اون رو "id" قرار می دیم. با این کارمون باعث می شیم که هیچ وفت بعلت شباهت اسم ها و یا هرنوع داده ی جدول باهم قاتی نشن و پیام خطایی دریافت نکنیم. به همین راحتی!!!

افزودن داده ها به جداول


برای افزودن داده ها به جداولمون باید یک پرس جوی SQL دیگه بازهم با استفاده از mysql_query ترتیب بدیم. این پرس جو ساختار ساده ای داره که ترجیح میدم اول کدشو بنویسم بعد از روی کد توضیح بدم:

PHP Code:6 [hide] <?
// here connect to MySQL and select your db
mysql_query("INSERT INTO mytable (name, jender) values ("Pezhman", "man")"
)
or die (
mysql_error
());
?>




خوب هونطور که دیدین این پرس جومون از یک جمله بندی ساده و اما با ساختاری ثابت تشکیل شده. در خط دوم با تابع mysql_query پرسو جویی رو ترتیب دادیم که در ابتدای این پرس و جو از فرمان "INSERT INTO $table_name" استفاده کردیم. در ادامه در داخل پرانتز نام جداولی که باید پر شوند رو درج میکنیم (جدول id خودبخود پر خواهد شد) و بعد با فرمان values یعنی مقادیر متغیرامون رو به جداول وارد می کنیم (باید به ترتیب باشند). به همین راحتی!!!

بازیابی داده ها از جداول
خوب حالا دیگه وقتشه که نتیجه ی کارتون رو بگیرین. اول از همه یک تابع رو معرفی می کنم که دقیقا بعد از افزودن داده ها به جداول مورد استفاده قرار می گیره و اون هم mysql_insert_id است و هیچ آرگومان ورودی هم نداره و فقط کافی است که در همون زمانی که داده ها به جداول وارد میشن دقیقا بعد از اون این تابع رو بکار بگیرین تا "id" جدیدی رو که مربوط به اطلاعات جدید هستند رو بدست بیارین. این تابع می تونه مفید باشه. (چون حجم مطالب زیاده از نوشتن کد این یکی صرف نظر میکنیم... اما اگه نفهمیدین بگین تا بگم!)


خوب حالا یک پرس جوی دیگه باید تشکیل بدیم تا داده هامون رو بدست بیاریم. (اول کد بعد توضیحات:)

PHP Code:7 [hide] <?
// here connect to MySQL and select your db
$re=mysql_query("SELECT *FROM mytable") or die (mysql_error
());
?>





خوب همونطور که می بینید این هم ساختار ساده ای داره:
با فرمان "SELECT *FROM $tablename" داده ها را در متغیر "$re" ذخیره می کنیم (* بمعنای انتخاب همه است). البته مسعله همینجوری الکی پلکی هم نیست و در قسمت دوم در مورد چگونگی مرتب سازی و یا انتخاب یک مورد خاص در جداول و ... بحث می کنیم ولی مسعله ی مشکل ساز فعلا اینه که داده های ذخیره شده در متغیر "$re" به همین سادگی برروی صفحه مرورگر نمایش داده نمی شن و خوبی کار هم همینه!.


برای این منظور سه راه وجود داره که من بهترین و ساده ترینشو بهتون میگم که اون هم تابع mysql_fetch_array هست که داده های ما رو به یک آرایه تبدیل می کنه و یک آرگومان ورودی می خواد که همون متغیر "$re" ماست. در زیر چگونگی انجام این کارو ببینید تا توضیحش رو هم بدم:

PHP Code:8 [hide] <?
// here connect to MySQL and select your db
$re=mysql_query("SELECT *FROM mytable") or die (mysql_error
());
while (
$array=mysql_fetch_array($re
)){
print
$re["id"].". ".$re[name"]." : ".$re["jender"
]."<br>";
}
?>




خوب همونطور که می بینید داده های ما بصورت یک آرایه درآمده اند که نام های هر کدومشون رو اسم جداولمون تشکیل میدن.
خوب حالا شا ید باخودتون بپرسین که چرا ما این کارو در یک ساختار تاکرار while انجام دادیم؟. با مثال زیر موضوع کاملا روشن میشه:
فرض کنید در جدولمون، ما نام چند نفر رو ثبت کردیم. آیا بدست آوردن تمام این نام ها در یک آرایه که فقط می تونه مشخصات یک نفر رو نگه داره امکان پذیره؟
برای این کار ساختار while می تونه کمکمون کنه و تا زمانی که در جدولمون داده ای وجود داشته باشه این ساختار داده ها رو در متغیر $array به صورت یک آرایه ذخیره می کنه و درصورت صدور فرمان اونها رو برروی مرورگر به نمایش در می آره. اگه در جدول ما به طور مثال اسم دونفر با نام های Pezhman و Hamed ثبت شده باشه خروجی حاصل از برناممون به این شکل درمیاد:
1. Pezhman: man
2. Hamed: man

تعییر داده ها


تغییر داده ها نیز در جداول با یک پرس و جوی ساده انجام می گیرد. (اول کد و بعد توضیحات):

PHP Code:9 [hide] <?
//here connect to MySQL and select your db
mysql_query("UPDATE mytable SET name="Pezhman32", WHERE name="Pezhman""
)
or die (
mysql_error
());
?>




همونطور که در بالا مشاهده کردید آغاز کار با فرمان "UPDATE $table_name SET" بوده است و بعد نام ستون و سپس متغیر مورد نظر (cols="$values"). بخاطر داشته باشد که همیشه امکان وجود فضای خالی در متغیر ها هست، پس آنها را بین علامت های " قرار دهید.
در پایان نیز مشخص کردیم که در کجا باید تغییرات صورت بگیره. (هیمشه در این قسمت شماره id را در نظر بگیرید زیرا اگر دونفر با نام های "Pezhman" در جدول مورد نظر وجود داشته باشند دستخوش تغییر خواهند شد مگر آنکه قصد شما از انجام این کار، این باشد که تمامی افرادی که نامشان "pezhman" است را در جدول خود دست خوش تغییر قرار دهید).

حذف داده ها


یکی از دوست داشتنی ترین کار ها، حذف داده ها از جدولمونه!!!!!. این کار هم براحتی انتخاب کردن و... است. برای حذف داده ها از جداول باید از فرمان "DELETE FROM" استفاده کرد. به مثال زیر توجه کنید:

PHP Code:10 [hide] <?
// here connect to MySQL and select your db
mysql_query("DELETE FROM my_table WHERE name="Pezhman""
)
or die (
mysql_error
());
?>




در مثال بالا، پرس جوی ما تمامی کسانی را که نام آنها دقیقا برابر با "Pezhman" باشد را از جدولمون حذف خواهد کد.
البته یادتون باشه که از "id" استفاده کنید چون ممکنه بیشتر از 1 نفر در جدول شما با اسم "Pezhman" ثبت شده باشند... مگر اینکه از اینکارتون حدف خاصی داشته باشید.




منبع : http://forum.irdesigners.com



انواع روش های هک کردن با یک مثال در خصوص وردپرس 1

یکشنبه 91/7/16
12:49 عصر
amirsaeedi

ابتدا به توضیح برخی مسایل می پردازیم:

آی پی چیست : اعدادی است که شناسه ی کاربری ما تو اینترنت هستش مثل آدرس خونه و ....
ما هر زمان که به اینترنت وصل میشیم باید یه آدرس داشته باشیم که از طریف آن هم اطلاعات به آن آدرس فرستاده شود هم دریافت که, به آن آدرس آی پی می گویند. آی پی یک عدد 32 بیتی(هر 8 بیت = یک بایت) است مثل 000.000.000.000 که هر کدام از قسمت ها می تونه از 0 تا 255 باشد.بجز آی پی سرور هایی که سایت روشون قرار دارد و بعضی از اینترنت ها که آی پی ها متغیر هست.شما هر بار که به اینترنت وصل می شوید با دیال آپ و Adsl آی پی که به شما تعلق میگیرد فقط در آن رنج که در Isp دارد وجود تغیر می کند.

Port چیست: پرت مثل پنجره های یک خونه می مونه که هوا از آن داخل و خارج می شود. پورت رو می توان اینطوری تعریف کرد که داده ها و خروجی ها را وارد و خارج میکیند.Port ها را ما معمولا به عدد میشناسم.
مثل
Port 25 Email
Port 80 Http
Port 22 Ssh
Port 21 Ftp
Port 13 DateTime
و ....

سرور چیست : سرور ها کامپیوتر های معمولا قدرتمند ی هستند که با سرعت بالا به اینترنت وصل هست. هر سرور یک سیستم عامل داره که میتونه Linux یا Windows باشه ویا ... روی هر کدام از این سیستم عامل ها چند تا برنامه سرویس دهنده وصل هست مثل Apache یا Iis.

هاست چیست : به فضای روی وب رو میگن هاست حالا این فضا ها از کجا اومده این فضا ها از جایی نیومده بلکه همان هارد دیسک های روی سرور هستند.

دامین چیست : دامین رو میشه این جوری تعریف کرد که آدرس روی اینرنت رو دامین میگین.هر دامین یک آی پی هست در اصل که ما وقتی آدرس سایت رو وارد مرورگر میکنیم اون رو تبدیل به آی پی میکنه و ما سایت را میبینیم.

لینوکس چیست : لینوکس یه سیستم عامل از خانواده ی یونیکس هست که به خاطر امنیت بالا در بیشتر سرور ها استفاده میشه.

باگ چیست : باگ یعنی حفره ی امنیتی یا مشکل امنیتی که از آن طریق میتوان نفوذ کرد اکثر باگ هام توسط اشتباهات در برنامه نویسی رخ میدهد. ما باگ های زیادی در موارد مختلف داریم که مهمترین آنها در وب محدود میشه به :
Xss
Sql Injection
Lfi
Rfi
که به ترتیب نوشتنشون بیشتر دیده میشن

WebAppliction چیست : وب اپلیکیشن به سیستم های مدریت محتوا میگن یعنی مثل Php Nuke و Joomla وVbulletin , ...

Remote چیست : به طور کلی میشه دسترسی از راه دور رو ریموت تعریف کرد.

Local چیست : لوکال را می توان به دسترسی نزدیک و کامل تر از Remote تعریف کرد.



انواع روش های هک کردن با یک مثال در خصوص وردپرس 2

یکشنبه 91/7/16
12:49 عصر
amirsaeedi

هک کردن روش های مختلفی دارد :

1 - sql injection :

همان طور که مشاهده کردید sql injection یا تزریق کد یکی از باگ هایی هست که هر سایت ممکنه داشته باشد.
در این حالت هکر با وارد کردن کارکتر های غیر مجاز به دیتابیس باعث به وجود آمدن خطا هایی می شود که هکر با استفاده از این خطا ها می تواند اطلاعات دیتابیس را در آورده و در بعضی مواقع وارد و در بعضی مواقع یک فایل بسازد(Shell). (در زیر شل توضیح داده خواهد شد)

ما چندین نوع دیتابیس داریم که روش Inject کردن هر کدام با دیگری فرق داره
مانند Mysql , Mssql ,Access,Oracle,db2, و غیره.
که هر کدام از این دیتابیس ها خود دارای چندین ورژن مختلف هستن!
برای مثال mysql :
همان طور که در بالا ذکر گردید هکر با وارد کردن بعضی کارکتر های غیر مجاز باعث رخ دادن خطا در دیتابیس می شود و اگر برنامه نویس هنگام فرستادن دستورات کاربر به دیتابیس هیچ کنترلی روی کارکتر های ورودی صورت ندهد دیتابیس خطا میده و هکر با استفاده از این خطا ها بدون دسترسی داشتن اطلاعات رو بیرون می کشد.
همان طوری که دوستان اطلاع دارن اطلاعات سایت که با بانک ارتباطی در ارتباط هست در اطلاعات سایت در دیتابیس ذخیره میشه حالا هکر می تواند این اطلاعات را با استفاده از خطا هایی که به وجود میاره بخواند یا وارد کند.
چند نکته :

1 - هکر با استفاده از کارکتر های غیر مجاز مثل (") باعث به وجو امدن خطا میشیم.
2 - هکر از قسمت های مختلفی می تواند اینجکت کنیم مثل آدرس Url که با بانک اطلاعاتی در ارتباط باشه یا لاگین پیج یا هر جایی که باگ داشته باشه!
3 - هکر برای بدست آوردن اطلاعات داخل دیتابیس یا وارد کردن آن باید نام جداول یا فیلد ها رو بداند بعد اطلاعات را به دست یا وارد کند. اسم تیبل و فیلد را نیاز دارد برای اینکه بتواند اطلاعات اونها رو بخواند مثل این میمونه که ما باید آدرس یه شخصی رو بدونیم که بریم دم خونش !

2 - LFI

همان طور که در بالا توضیح داده شد یکی از باگ ها باگ rfi هست.این باگ با بی احطیاتی برنامه نویس در استفاده از توابع Include و ... به وجود میاد.
در اصل این توابع (include , require ... ) فایل یا صفحه ای رو فراخوانی میکنن که اگر روی این درخواست کنترلی نباشه میتونه منجر به باگ Rfi یا حتی Lfi بشه.
هک Lfi یا Local File Inclusion یک نوع دسترسی لوکال به هکر برای مشاهده ی فایل های سرور مورد نظر میده (یعنی به همه چیز روی سایتتون "نه سرورتون" دسترسی پیدا می کنه!). که همانطور که ذکر شد باگ Lfi بیشتر در اشتباهات برنامه نویس در استفاده از توابعی مثل Include ,require() و غیره رخ میده.
با استفاده از این باگ حرکت های زیادی میشه کرد از جمله

1 - تبدیل آن به اجرای دستورات از راه دور با استفاده از لوگ های Apache
2 - خواندن فایل های مهم سیستمی با فایل های config
و ...........


  • Xss چیست : این باگ که یکی از فراون ترین باگ های موجود میباشد که طبق آمار 69 درصد وبسایت ها این باگ را دارن. از نظر امنیتی باگ مهمی به حساب نمیاد با استفاده از این باگ میشه روی سیستم قربانی انواع اقسام نفوذ رو انجام داد.(در قسمتی از سایت که باگ دارد شما قادر به اجرا کردن کد های JavaScript هستید که با استفاده از کد های جاوا اسکریپ کار های زیادی میشه انجام دارد!!!) . در حقیقت این باگ کمک می کنه تا هکر به سیستم نفوذ کند و سپس توسط یکی از همین روش هایی که توضیح داده شد (LFI و sql injection) سایت را هک کند.



  • استفاده از شل یا c99 :در این روش هکر از یک اسکریپت به نام شل استفاده می کند.ابتدا به مثال زیر جهت درک بهتر قدرت "شل" (shell) توجه نمایید:


مثلا شما امنیت سایتتون در حد بینهایت زیاده و هکر کاملا از نفوذ مستقیم به سایت شما نا امید شده.پس تصمیم می گیره که شما رو دور بزنه .به این صورت کار خود را آغاز می کند که با یک جستجوی ساده نام میزبان شما را در می آورد.مثلا میزبان شما شرکت X است.بعد چک می کند و می بیند که میزبان شما علاوه بر سایت شما 100 سایت دیگر را هم میزبانی می کند.خب شروع می کند به جستجو و با کمی جستجو اون 100 سایت را پیدا می کند.حالا نوبت به هک کردن می رسد.منتها این بار نه سایت شما.بلکه سایت همسایه ی شما!اون سایت که احتمالا ادمین آن یادش رفته اصلا حتی پسورد بیشتر از 6 کاراکتر بگذارد به راحتی هک می شود.خلاصه بعد از هک سایت همسایه ی شما ، با یک شل مخصوص که خودش اون رو دی کد کرده (نا خوانا توسط آنتی ویروس) از سرور شما دسترسی روت می گیرد (یعنی به تمام فایل های موجود در کامپیوتر سرور که میزبانی سایت شما و اون 100 سایت دیگر را بر عهده دارد دسترسی پیدا می کند) و سایت شما را هک می کند.یک دماغ سوخته هم براتون می فرستد و کلی حال می کند.این هم نمونه ی این حمله!

دقت کنید که استفاده از شل نیز یک روش کمکی هست.یعنی ابتدا هکر باید توسط یکی از دو روش گفته شده (ال اف آی و تزریق کد) سایت را هک کند و سپس می تواند از شل برای وسعت دادن به تخریب خود استفاده کند.لازم به ذکر است که هکر می تواند توسط شل حتی آنتی ویروس را از کار بیندازد و به سیستم ویروس تزریق کند یا یک حفره نامریی در سیستم ایجاد کند که هر وقت خواست دوباره برگردد و سایت را هک کند ، دسترسی روت از سرور بگیرد (یعنی به تمام فایل های سیستم عامل دسترسی پیدا کند و بتواند هر آنچه دوست دارد را تغییر دهد) و به بقیه ی سایت های روی اون سرور حمله کند و ...


بهتر است بدانید - حمله ها : یکی از متداول ترین روش ها برای توقف سرویس دهی از راه دور حمله به وسیله بسته های نا متعارف است(یعنی سایت شما سر جاش می ماند و اطلاعاتتان حفظ می شود ولی سروری که سایت روی آن قرار دارد را به زانو در می آورد و دیگر سایت شما از دسترس کاربران خارج می شود!).این نوع حمله،در یکی از پروسه های TCP/IP ایجاد اشکال میکند و اگر سرویس دهنده هدف در یکی از پروسه ها دارای مشکل،ضعف و یا آسیب پذیری باشد ؛ قطعاً در هم شکسته خواهد شد .معمولاً در این نوع حملات حمله کنندگان در هاله امنیتی خود قرار گرفته و کمترین ردپایی از خود به جا می گذارد.در ادامه معروفترین حملات از این قسم را بیان می کنم.
(در حقیقت به این روش هک کردن گفته نمی شود چرا که نفوذی انجام نشده است!)

Ping of Death
در این نوع حمله یک بسته Ping با ظرفیتی بیش از 64 کیلوبایت برای هدف(قربانی) ارسال می شود .با توجه به اینکه ارسال بسته های Ping بزرگ تر از 64 کیلوبایت مجاز نمی باشد، پروسه Icmp با دریافت چنین بسته ای مختل خواهد شد.تا انجا که من اطلاع دارم بسیاری از سیستم های Unix و Windows و چابگر های شبکه در مقابل این نوع حمله آسیب پذیر هستند.

Winnuke
این نوع از حمله از اشتراک پورت بر روی Port tcp 139 ویندوز استفاده میکند.وقتی داده به پورتی که طبق پروتکل SMB مجاز فرمت نشده ، فرستاده می شود و در نتیجه سیسم دچار اختلال خواهد شد.

Land
در این نوع حمله ، یک بسته SPOOF شده به جایی که در آدرس IP مبدا و IP مقصد و همچنین پورت هایی یکسان در 2 سر ارتباط موجود است، فرستاده می شود.ماشین قربانی این بسته را گرفته و تحویل پروسه TCP می دهد ؛چون آدرس مبدا و مقصد یکی است این روال در چرخه افتاده و سیستم دچار سردرگمی شده که در نسخه های قدیمی TCP/IP سیستم دچار اختلال می گردد.

Latierra
تز خانواده حملات Land است، با این قابلیت اضافی که بسته های Land برای چند پورت باز بر روی ماشین هدف ارسال می شود.

Joh2
این نوع از حمله محصول سال 2000 از کشفیات نسبتاً جدیدتر است.امروزه Patch های این چنینی (Exploite) در دنیای زیر زمینی کامپیوتر کشف شده و به اشتراک گذاشته می شوند.
از جمله ابزار نیرومند چنین حملاتی می توان به TARGA نوشته Mixter و Spike نوشته Spikeman اشاره نمود.



انواع روش های هک کردن با یک مثال در خصوص وردپرس 3

یکشنبه 91/7/16
12:47 عصر
amirsaeedi

   حملات گروهی DOS مخفف Denial Of Service به معنی تکذیب سرویس

الف ) حملات گروهی Dos که به اختصار به آن DDos گفته می شود نوعی از حملات هوشمند و زیرکانه Dos هست که نه تنها مشکلات قبلی حملات Dos را نداشته بلکه مزایایی چون پنهان بودن هویت نفوذگر ، عدم امکان مبارزه توسط قربانی و امکان موفقیت بسیار بالا برای یک حمله کننده را به ارمغان می آورد.
این نوع حمله برای اولین بار درتابستان 1999 در اینترنت ظاهر شد و سپس به طور فزاینده ای اینترنت را به یک میدان تمام عیار جنگ مبدل کرد به صورتی که سایت های بزرگی همچون :
Yahoo,Ebay,CNN,ADMet,Etrade از این نوع از حملات در امان نماندند و خبر هایی از ناتوانی آن ها برای مقابله و سپس فروپاشی آن ها گزارش شد.
در حملات DDos حمله کننده سعی می کند از ماشین هایی که در اینترنت پراکنده اند برای حمله یک هدف مشخص بهره ببرد(این ماشین ها چیزی نیست بجز سایت شما و امثال شما!!!!).
به عنوان مثال اگر حمله کننده قصد حمله به یک هدف مشخص به روش sys-flood را داشته باشد چندین ماشین را برای حمله به یک هدف مشخص بسیج میکند.مثلا اگر حمله کننده از 100 ماشین که هرکدام پهنای باند مفید 15Kbps برای کار او داشته باشند استفاده کند ، قربانی با سیل عظیمی معادل 1/5Mbps مواجه خواهد شد.
حمله کننده برای بدست آوردن این پهنای باند از ماشین های مختلف با نرم افزار های زامبی استفاده می کند (این نرم افزار ها معمولاً در قالب برنامه های جذاب و زیبا و رایگان ولی آلوده در سرتاسر اینترنت پراکنده میکند.)(برای مثال می توان یک افزونه ی پر کاربرد وردپرس را با این آلودگی منتشر کرد).به طور معمول نرم افزار های زامبی پس از اجرای ان در یک ماشین(کامپیوتر) منتظر فرمان می مانند و وقتی تعداد ماشین های زامبی زیاد باشد حمله کننده قادر به کنترل همه آنها نمی باشد .بنابر این در حمله به طریق DDos ماشین های زامبی در قالب "گروه" دسته بندی شده و سپس در این حالت هر گروه از ماشین های زامبی توسط یک "سرگروه" هدایت میشوند که خود سر گروه ها تحت کنترل ماشین حمله کننده می باشند.

ب ) حملات SYN Flood: حمله اخیر به سرورهای SCO از نوع DOS و حملات موسوم به SYN Flood بود.در این نوع از حمله با ارسال بسته های اطلاعاتی سعی می شود یک اتصال کامل میان ماشین ارسال کننده و سرور اصلی به طور مصنوعی برقرار شود. دیتای ارسالی با ظاهری کاملاً قانونی از طریق پروتکل های موجود رد می شود؛ اما دیتا مستقیماً پردازشگر سرور را مورد حمله قرار می دهد . بدین معنی که برای دریافت، خواندن و پاسخ به هر بسته اطلاعاتی به عنوان Request سرور نیاز به استفاده از Processor های خود دارد تا آن را آنالیز کند.در حالت عادی پردازشگر سرور یک بسته را نگه داشته و بعد از عملیات به آن جواب می دهد.هنگام نگه داشتن بسته اطلاعاتی، حافظه اشغال می شود .
در این میان هرچه تعداد بسته ها بیشتر بوده و بیشتر به صورت ناگهانی و سیل آسا به طرف حافظه حمله ور شود، حافظه سیستم را بیشتر اشغال کرده و سرور دچار تنگی شده و پردازش کند می شود.
حال اگر سرور ها بدین ترتیب Request مصنوعی دریافت کنند، آنقدر به سرور فشار می آید که ماشین هنگ می کند و بعد یا Restart می شود و یا راهبر آن را خاموش می کند.
سایت نت کرافت با مانیتور کردن SCO گزارش داد وجود حفره روی خط اینترنت و سرورهای SCO حملات بیشتر و متعددی را ایجاد کرد. آنالیز دیتای موسوم به BackScatter نشان از ترافیک بالا و غیر طبیعی روی میل سرور و فایل سرور و نیز اف.تی.پی سرور (FTP Server) سایتSCO داشت.به حدی که بر اساس گزارش نت کرافت 50 هزار بسته اطلاعاتی(Packet) در هر ثانیه سرور SCO را مورد هدف قرار داد و بعد میزان بسته ها کمتر شد و در هر ثانیه مقدار آن به 3هزار بسته در هر ثانیه رسید که در این میان از هر سه Request برای باز شدن سایت یکی از آنها پاسخ مثبت دریافت می کرد . دیوید کنراد مدیر Nominum در این باره گفت : مسئولان SCO می توانستند با نصب Syncookies جلوی حملات را روی سرور خود بگیرند.این برنامه IP های جعلی را که حافظه را با ارسال بسته های تقلبی پر می کند، شناسایی کرده و جلوی آن را میگیرد.


خب همان طور که می بینید دو روش نوذ به سیستم (هک) ال اف آی و تزریق اس کیو ال هست.
الف ) برای LFI وردپرس هکر باید به فایل کانفیگ که یکی از فایل های اصلی وردپرس است (در پوشه ی اصلی اون جایی که وردپرس را ذخیره کرده اید )موجوده نفوذ کند.


فایل کانفیگ در وردپرس قلب امنیتی سایت شما محسوب می شود و هر کسی که به این فایل دست یابد دیگه تمومه.
روش های مختلفی برای دور کردن این فایل از دست هکران وجود دارد

  • می توان این فایل را فقط قابل خواندن کرد (آسان ترین روش)(که معمولا به صورت پیشفرض رعایت می شود)
  • می توان این فایل را دی کد کرد (ناخوانا کرد.مثلا فکر کنید هکر فارسی زبانه و جز فارسی زبان دیگری بلد نیست.حالا اگر شما این فایل را به زبان هندی بنویسید هکر ازش چیزی سر در نمیاره!کد کردن یعنی اینکه به یک زبانی بنویسید که فقط خودتون و سایتتون اون رو می شناسد!)
  • می توانید نام این فایل را از طریق ویرایش هسته وردپرس تغییر داد
  • می توان از این فایل نسخه ی تقلبی ساخت و مثلا هکر وقتی وارد شد با فایل کانفیگ تقلبی با اطلاعات نادرست رو به رو شود و ساعت ها با همان مشغول شود!


ولی نکته ی قابل توجه این است که همه ی این کار ها یعنی دست بردن در هسته ی امن وردپرس که امنیتش شهره خاص و عام است.در حقیقت شما اگر فیلم جومونگ رو دیده باشید ، دیدید که وقتی قلعه گوکنی توسط قوای شورشی محاصره شده بود ، فرمانده موهیول از یک راه مخفی خیلی راحت از قلعه خارج شد و این در حالی بود که قوای شورشی پشت دروازه های این قلعه بودند.نکته همین جاست.همیشه راههای مخفی برای ورود و خروج به یک سایت وجود دارد.و وای به حال اون وبمستری که هکر این راه ها را بشناسد.در حقیقت بدی وردپرس همین است.امنیت وردپرس خیلی بالاست ولی از اونجایی که به صورت متن باز دست هر ننه قمری هست پس در عمل نقشه ی سایت شما با تمام راه های مخفی اش دست همه هست و این برگ برنده ی هکر است.شما با تغییر در هسته وردپرس عملا به امنیت سایت خود اضافه نمی کنید.بلکه با عوض کردن نام فایل ها و پوشه ها و ... نقشه ی سایت خود را تغییر می دهید تا هکر با یک چیز غیر منتظره رو به رو شود و برنامه هایی که از قبل چیده شکست بخورد.
منتها وقتی در هسته ی وردپرس تغییر ایجاد می کنید عملا دیگر فقط اسم اون اسکریپت وردپرس باقی می ماند.ولی در عمل شما یک اسکریپت دست ساز ساخته اید.پس احتمالا در آپدیت کردن و یا نصب افزونه ها به شدت به مشکل بر می خورید.لذا این کار ها کار بسیار تخصصی است و از عهده ی هر کسی بر نمی آید.کسی این کار ها را انجام می دهد که کاملا با طرز کار وردپرس و تمام دستوراتش آشنا باشد و بداند پیامد هر دستوری که می دهد چیست.بیخودی که 200 تومن 200 تومن بابت منیج یک سایت نمی گیرند.همین کار ها رو می کنند دیگر!

ب ) روش دیگر تزریق کد هست که همانطور که در بالا گفته شد ، قبل از حمله هکر باید از فرمت جداول بانک اطلاعاتی شما و همچنین نام این جداول آگاه باشد.پس یک راه خیلی ساده برای جلوگیری از این حمله ها تغییر نام جداول بانک اطلاعاتی پیش فرض وردپرس هست.به این صورت که قبل از نصب وردپرس باید به فایل کانفیگ رفته و در همان جایی که اطلاعات بانک اطلاعاتی mysql خود را وارد می کنید ، نام پسوند این جداول را هم به یک نام دلخواه تغییر دهید.

حملات
ج)برای جلوگیری از حملات اکسپلوییت (exploit) کاری از دست شما روی هاست اشتراکی (میزبانی وب) بر نمی آید و شما باید هاست خود را از یک جای معتبر و مطمئن که مرتبا سرور ها را مانیتور می کند تهیه کنید.سخت افزار هایی برای جلوگیری از این حمله ها ساخته شده که گران هستند و همه ی میزبانان وب از آن ها استفاده نمی کنند.بالاخره یک فرقی بین هاست ارزان و گران هست دیگر.(این کار ها هزینه دارد!مانیتور و آنتی دی داس سخت افزاری)

شما علاوه بر ساختن دیوار های دفاعی این چنینی یک راه دیگر هم دارید و اون حمله ی متقابل است.این کار شبیه به مین گذاری سایتتون هست.اگر هکر بی احتیاطی کند و روی این مین ها برود سرور شما متقابلا به کامپیوتر هکر حمله می کند و اینجا واقعا هکر عاجز خواهد شد.
مثلا شما جای پوشه ی ادمین (wp-admin)را عوض کرده اید.حالا یک پوشه ی ادمین تقلبی می سازید!توی این پوشه یک فایل با نام index می گذارید که با "الگوریتم شناور دایمانورس" نوشته شده است.خصوصیت این الگوریتم این است که با بازشدن صفحه ی لوگین-ادمین توسط هکر این الگوریتم به کار افتاده و کامپیوتر هکر مورد حمله ی بار اضافی قرار می گیرد و مژینگای سیستم هکر به درجه ی اشتعال می رسد!!!!!!!!

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



حملات تزریق کد

یکشنبه 91/7/16
12:36 عصر
amirsaeedi

تاریخچه 

تاریخچه حفره‌های امنیتی در معرض حملات XSS به سال 1996 و سالهای اولیه صفحات وب باز می‌گردد. نفوذگران در آن زمان که پروتکل HTTP جا افتاده بود و طراحان وب‌گاه‌ها از زبانهای پردازه‌نویسی مانند جاوا اسکریپت سود می‌بردند، دریافتند وقتی کاربران معمولی وارد سایتی می‌شود می‌توان به کمک کدنویسی در حفره‌های امنیتی وب‌گاه، صفحه دیگری را در همان صفحه بارگذاری کرد سپس با سود بردن از جاوا اسکریپت داده‌های کاربر مانند نام کاربری، گذرواژه و یا کوکی(Cookie)ها را دزدید.

در این هنگام رسانه‌ها این مشکلات را به ضعف امنیتی مرورگرها نسبت داده بودند. شرکت ارتباطی Netscape که جزو اولین تولیدکنندگان مرورگرهای وب و همچنین سازنده زبان جاوا اسکریپت بود سیاست دامنه شخصی را به این زبان افزود که جلوی دسترسی به آدرس‌های خارج از دامنه وب‌گاه را می‌گرفت و تا حدودی این حملات را محدود می‌کرد.[نیازمند منبع]

انواع حملات 

سناریوهای مختلفی برای قرار دادن کد مخرب در سایتها به عنوان حمله وجود دارد:

  • طراح سایت، خود کد مخرب را در صفحه قرار داشته باشد.
  • حفره سایت ممکن است در سطح سیستم‌عامل یا شبکه ایجاد شده باشد.
  • یک حفره دائمی در یکی از مکان‌های عمومی وب‌گاه قرار گرفته باشد.
  • قربانی بر روی یک لینک حاوی XSS مدل non-persistent یا DOM-based کلیک کند.

فیلتر کردن 

فیلتر کردن را از دو منظر باید بررسی کرد. فیلتر کردن ورودی‌های کاربر و فیلتر کردن خروجی‌ها برای کاربر است.

  • فیلتر ورودی:
    • در این قسمت، برنامه نویس وظیفه دارد با فیلتر کردن ورودی‌های کاربر، شکل و چینش کدهای مخرب را شناسایی کرده و آنها را فیلتر کند.
  • فیلتر خروجی:
    • در این قسمت، برنامه نویس وظیفه دارد با فیلتر کردن کدهای خروجی اجازه ایجاد حفره‌های امنیتی و به طبع آن شکل گیری حملات XSS را متوقف کند.

روش‌های خنثی کردن 

  • سود بردن از مرورگر مناسب.
  • سود بردن از ابزارهای محدودکننده اجرای کد مانند NoScript
  • کلیک نکردن بر روی لینک و آدرسهای ناشناس.

منابع 



up link

یکشنبه 91/7/16
12:33 عصر
amirsaeedi

Uplink Ports
Last updated: 5/16/2001

Q. What is an uplink port and what are the ways to connect two hubs/switches together?

A.  There is no big mystery about the difference between an uplink and a regular port. Each Ethernet interface has two transmit pins + and - and two receive pins (the other pins may have wires running between them, but they are not used). The transmit pins at one end of a cable have to be connected to the receive pins at the other end and vice versa. An uplink port does not crossover the transmit and receive pins and a regular port does.

If two hubs/switches (What is the difference between a hub and switch?) are connected together with a straight-thru cable then one end must crossover (regular port) and one end must not (uplink port). If a crossover cable is used to connect them, then the ports at both ends must be the same kind of port. If a straight-thru cable is used to connect them, then the ports must be different. A PC can be connected to an uplink port with a crossover cable and to a regular port with a straight-thru cable. Also, be aware that many hubs/switches share the uplink port with one of the regular ports, usually port 1. Both ports will not work if they are both connected at the same time. Finally, many hubs and switches have a switch associated with the uplink port that can switch the port between uplink and regular port configurations.



طراح صفحات وب - برنامه نویس تحت سی پلاس پلاس و دلفی و ویبی - طراح نرم افزار های تبلیغاتی - تدریس خصوصی - ارائه پروپوزال و پایان نامه - ارائه مقالات علمی (برای ارتباط نظر بگذارین)
تمامی حقوق این وب سایت متعلق به وبسایت دکتر امیر مرتضی سعیدی است. || طراح قالب avazak.ir