កុំផ្ទុកទិន្នន័យសំខាន់ៗទៅម៉ាស៊ីនមេ WEB ។ ការបង្កើតនិងរៀបចំមូលដ្ឋានទិន្នន័យ

សេចក្តីណែនាំនៅក្នុង AngularJS ដើរតួនាទីយ៉ាងសំខាន់។ ការណែនាំអាចត្រូវបានប្រើដើម្បីបង្រៀនល្បិចថ្មីដល់ HTML ហើយអ្នកថែមទាំងអាចបង្កើតស្លាក ឬគុណលក្ខណៈ HTML ផ្ទាល់ខ្លួនរបស់អ្នក។ ការណែនាំក៏ជួយក្នុងការរក្សាការសម្គាល់ឱ្យកាន់តែស្ទាត់ និងកំណត់វិធីដ៏ល្អក្នុងការបំបែកកូដ និងការសម្គាល់ពីគ្នាទៅវិញទៅមក។

ទិដ្ឋភាពគឺជាគំរូ HTML ។ ទិដ្ឋភាពគឺគ្មានអ្វីក្រៅពីព័ត៌មានដែលអ្នកចង់បង្ហាញទៅកាន់កម្មវិធីរុករករបស់អ្នកប្រើប្រាស់ចុងក្រោយ។ ទិដ្ឋភាពនៅក្នុង AngularJS ត្រូវបានគេហៅផងដែរថាជា ចងក្រង DOM. View ប្រើការណែនាំដើម្បីបង្ហាញទិន្នន័យដោយប្រើគំរូ HTML ។

អត្ថបទនេះគឺជាផ្នែកទី IV នៃគេហទំព័រតាមដានគម្រោងដែលត្រូវបានបង្កើតឡើងនៅក្នុង AngularJS និង ASP.NET Web API ។ រហូតមកដល់ពេលនេះ យើងមាន បង្កើត និង មាន។

អរគុណ​ចំពោះ ដើម្បីពិនិត្យមើលស៊េរី Angular នេះ និងជួសជុលកំហុស។

យើងបានឃើញវត្ថុ $scope ដែលផ្តល់គំរូដល់ទិដ្ឋភាពរួចហើយ។ កូដគំរូមិនត្រូវបានលាយបញ្ចូលគ្នាជាមួយកូដ HTML ដែលយើងសរសេរទៅក្នុងទស្សនៈរបស់យើងទេ។ ផ្ទុយទៅវិញ ទិន្នន័យត្រូវបានផ្លាស់ប្តូរពីគំរូទៅជាទិដ្ឋភាពដោយប្រើកន្សោមការចងទិន្នន័យ។ វិធីនេះអ្នកអភិវឌ្ឍន៍អាចសម្រេចបានការបំបែកនៃការព្រួយបារម្ភ (SoC) ។ ដោយសារម៉ូដែលមិនអាស្រ័យលើ Views ពួកវាអាចភ្ជាប់ទៅនឹងទិដ្ឋភាពណាមួយ។ ការចងនៃគំរូនេះត្រូវបានធ្វើដោយជំនួយពី AngularJS Directives។

យើងបានឃើញការណែនាំ Angular មួយចំនួនរួចហើយនៅក្នុងកម្មវិធី ng-app របស់យើងដែលបិទ AngularJS ក៏ដូចជា ng-controller ដែលធ្វើឱ្យឧបករណ៍បញ្ជាមានសម្រាប់ HTML ។ ពីឧបករណ៍បញ្ជា យើងអាចចងទិន្នន័យទៅនឹងទិដ្ឋភាពដោយប្រើ Angular ((កន្សោម))។

នៅក្នុងអត្ថបទនេះ យើងនឹងពិនិត្យមើលការណែនាំបន្ថែមមួយចំនួនរបស់ AngularJS ដែលចេញមកក្រៅប្រអប់ជាមួយ Angular។ មួយក្នុងចំណោមពួកគេគឺ ng-ធ្វើម្តងទៀត. តោះសាកល្បងប្រើ ng-repeat directive ចូលទៅក្នុងទំព័រ EmployeeDetails.html របស់យើង ដែលអាចត្រូវបានរកឃើញនៅក្នុងអត្ថបទនេះអមមកជាមួយ។ កែប្រែ URL សេវាកម្មនៅក្នុងឯកសារ EmployeesController.js របស់យើង។ URL សេវាកម្មមានដូចខាងក្រោម៖

http://localhost:2464/api/ptemployees

ឥឡូវនេះយើងនឹងកែប្រែទំព័រ EmployeeDetails.html ដូចបង្ហាញក្នុងកូដខាងក្រោម -

((emp.employeeID)) ((emp.employeeName)) ((ការកំណត់អត្តសញ្ញាណ)) ((emp.contactNo)) ((emp.eMailID)) ((emp.skillSets))

ជំនួស នៃទំព័រ EmployeeDetails.html ដែលមានលេខកូដខាងលើ។ លទ្ធផលនៃកូដខាងលើត្រូវបានបង្ហាញនៅទីនេះ៖

នៅក្នុងកូដនេះ យើងបានប្រើការណែនាំ ng-repeat នៃ AngularJS ។ វាស្រដៀងទៅនឹង for or foreach loop នៅក្នុង .NET។ នៅទីនេះយើងកំពុងទទួលបាន IEnumerable ការប្រមូលដោយប្រើ ASP.NET Web API ។ យើងកំពុងប្រើបណ្តុំនេះជាគំរូមួយនៅក្នុង Angular Controller របស់យើង។ ដោយប្រើគំរូនេះ យើងកំពុងរំលឹកឡើងវិញនូវវត្ថុរបស់និយោជិត តាមទស្សនៈរបស់យើង។ នេះគឺជាការណែនាំដ៏មានប្រយោជន៍ដែលធ្វើឡើងវិញតាមរយៈវត្ថុក្នុងបណ្តុំ ដើម្បីបង្ហាញទិន្នន័យនៅលើទិដ្ឋភាព។

ឥឡូវនេះ សូមសាកល្បងបន្ថែមតម្រង ដើម្បីស្វែងរកនិយោជិតជាក់លាក់ណាមួយពីការប្រមូល និងបង្ហាញបុគ្គលិកដោយផ្អែកលើឈ្មោះនិយោជិត ឬតួអក្សរឈ្មោះនិយោជិតដែលបានផ្តល់ឱ្យ។ រហូត​មក​ដល់​ពេល​នេះ យើង​បាន​ទាញ​យក​គំរូ​នេះ ហើយ​ប្រើ​វា​ក្នុង​ទិដ្ឋភាព​របស់​យើង។ វាក៏ដំណើរការតាមវិធីផ្សេងដែរ។ យើងអាចធ្វើឱ្យទស្សនៈរបស់យើងនិយាយត្រឡប់ទៅម៉ូដែលរបស់យើងដែលមាននៅក្នុងឧបករណ៍បញ្ជារបស់យើង។

ដើម្បីបន្ថែមតម្រងស្វែងរកដោយផ្អែកលើឈ្មោះបុគ្គលិក យើងនឹងកែប្រែទំព័រ EmployeeDetails.html ដោយបន្ថែមធាតុបញ្ចូល HTML ដូចបង្ហាញខាងក្រោម -

បញ្ចូលឈ្មោះបុគ្គលិក ឬតួអក្សរដើម្បីស្វែងរក -

បន្ថែមលេខកូដខាងលើបន្ទាប់ពី

ស្លាក។ នៅក្នុងកូដខាងលើ យើងកំពុងប្រើការណែនាំ ng-model ដែលអាចឱ្យយើងបញ្ជូនទិន្នន័យត្រឡប់ទៅគំរូវិញ។ ផ្អែកលើទិន្នន័យនេះ យើងនឹងធ្វើការស្វែងរកនិយោជិតដោយប្រើប្រាស់មុខងារ EmployeeName ។ សូមប្រាកដថា EmployeeName property ត្រូវបានប្រកាសនៅក្នុងគំរូរបស់យើង ដែលយើងនឹងធ្វើក្នុងជំហានខាងក្រោម។ សូមកត់សម្គាល់ផងដែរថាយើងកំពុងប្រើ ng-ដាក់ស្នើការណែនាំដែលនឹងផ្តល់ការហៅទៅ ស្វែងរកបុគ្គលិកមុខងារពីឧបករណ៍បញ្ជារបស់យើង។

ឥឡូវនេះសូមកែប្រែឯកសារ EmployeesController.js ដើម្បីឱ្យយើងអាចស្វែងរកបុគ្គលិកដោយផ្អែកលើលក្ខណៈសម្បត្តិ EmployeeName ជាលក្ខណៈវិនិច្ឆ័យស្វែងរក។ លេខកូដត្រូវបានបង្ហាញខាងក្រោម -

(function () ( var EmployeesController = មុខងារ ($scope, $http) ( var staff = function (serviceResp) ( $scope.Employees = serviceResp.data; ); $scope.SearchEmployees = function (EmployeeName) ( $http.get ("http://localhost:2464/api/ptemployees/" + EmployeeName) .then(employees, errorDetails); ); var errorDetails = function (serviceResp) ( $scope.Error="Something wrong ??"; ) ;$http.get("http://localhost:2464/api/ptemployees") .then(employees,errorDetails); $scope.Title = "(!LANG:Employee Details Page"; $scope.EmployeeName = null; }; app.controller("EmployeesController", EmployeesController); }()); !}

នៅក្នុងកូដខាងលើ យើងបានបន្ថែមវិធីសាស្ត្រ SearchEmployee() ទៅវត្ថុ $scope របស់យើងជាគំរូមួយ។ វិធីសាស្រ្តនេះនឹងស្វែងរកបុគ្គលិកដោយផ្អែកលើឈ្មោះនិយោជិត ឬតួអក្សរនៃឈ្មោះបុគ្គលិក។ យើង​ក៏​បាន​ប្រកាស ឈ្មោះ​បុគ្គលិកទ្រព្យសម្បត្តិនៅក្នុងឧបករណ៍បញ្ជារបស់យើងនៅចុងបញ្ចប់នៃកូដនេះ។ វិធីសាស្ត្រ SearchEmployees ទាញយកវិធីសាស្ត្រ Web API ។ ខ្ញុំបានកែប្រែវិធីសាស្ត្រ GET ដូចដែលបានបង្ហាញនៅទីនេះ៖

សាធារណៈ HttpResponseMessage ទទួល(ឈ្មោះខ្សែអក្សរ) ( var បុគ្គលិក = EmployeesRepository.SearchEmployeesByName(ឈ្មោះ); ការឆ្លើយតប HttpResponseMessage = Request.CreateResponse(HttpStatusCode.OK, បុគ្គលិក); ឆ្លើយតបមកវិញ; )

លេខ​កូដ​ឃ្លាំង​បុគ្គលិក​មាន​ដូច​បង្ហាញ​នៅ​ទីនេះ៖

បញ្ជីឋិតិវន្តសាធារណៈ SearchEmployeesByName(string employeeName) ( ProjectTrackingDBEntities dataContext = new ProjectTrackingDBEntities(); var query = from employee in dataContext.Employees where employee.EmployeeName.Contains(employeeName) ជ្រើសរើសបុគ្គលិក ត្រឡប់ query.ToList(); )

បន្ទាប់ពីការផ្លាស់ប្តូរទាំងអស់នេះ ឥឡូវដំណើរការទំព័រ EmployeeDetails.html ហើយមើលលទ្ធផល។

នៅក្នុងលទ្ធផលខាងលើ យើងកំពុងស្វែងរកបុគ្គលិកដែលឈ្មោះមានតួអក្សរ 'J' នៅក្នុងនោះ។

តម្រង AngularJSពង្រីកឥរិយាបទនៃកន្សោមចង ឬការណែនាំ។ តម្រងត្រូវបានប្រើជាមួយកន្សោមចងដើម្បីធ្វើទ្រង់ទ្រាយទិន្នន័យដែលត្រូវបានចង។ នៅពេលដែលពួកវាត្រូវបានប្រើប្រាស់ជាមួយនឹងការណែនាំ ពួកគេបន្ថែមសកម្មភាពបន្ថែមមួយចំនួនទៅក្នុងការណែនាំ។ ក្រៅប្រអប់ AngularJS ផ្តល់នូវតម្រងមួយចំនួនដែលយើងអាចប្រើដើម្បីធ្វើទ្រង់ទ្រាយតម្លៃនៃកន្សោមមួយ និងបង្ហាញតម្លៃ/ទិន្នន័យទៅក្នុងទិដ្ឋភាពរបស់យើង។ អ្នកអាចប្រើប្រាស់តម្រងនៅក្នុង Views, Controllers និង Services។ វាក្យសម្ព័ន្ធនៃការប្រើប្រាស់តម្រងចូលទៅក្នុងទិដ្ឋភាពគឺ (( expression | filter1 | filter2 | ... )).

ឥឡូវនេះយើងនឹងសាកល្បងតម្រងដែលនឹងតម្រៀបទិន្នន័យដោយប្រើឈ្មោះបុគ្គលិក។ ដើម្បីតម្រៀបទិន្នន័យ សូមបន្ថែមតម្រងនៅក្នុង ng-repeat របស់យើងដោយប្រើ | ប្រតិបត្តិករដូចបានបង្ហាញនៅទីនេះ៖

នៅក្នុងកូដខាងលើ យើងកំពុងបន្ថែមតម្រងនៅក្នុងការណែនាំ ng-repeat របស់យើង។ OrderBy: 'employeeName' នឹងតម្រៀបទិន្នន័យដោយប្រើឈ្មោះបុគ្គលិកតាមលំដាប់ឡើង។ អ្នកអាចសង្កេតមើលលទ្ធផលនៅទីនេះ៖

ដើម្បីបង្ហាញទិន្នន័យតាមលំដាប់ចុះ អ្នកអាចប្តូរតម្រងដូចបានបង្ហាញនៅទីនេះ៖

នៅក្នុងកូដខាងលើ ដើម្បីតម្រៀបឈ្មោះនិយោជិតតាមលំដាប់ចុះ យើងបានប្រើសញ្ញាដក (-) ។ ដូចគ្នានេះដែរ អ្នកអាចប្រើសញ្ញា (+) ដើម្បីតម្រៀបវាតាមលំដាប់ឡើង។

អ្នកក៏អាចប្រើប្រាស់បានដែរ។ ដែនកំណត់តម្រងដើម្បីកំណត់ចំនួនកំណត់ត្រា។ ជាឧទាហរណ៍ អនុញ្ញាតឱ្យយើងនិយាយនៅពេលមួយដែលអ្នកចង់បង្ហាញបុគ្គលិក 5 នាក់។ ដើម្បីបង្ហាញចំនួនកំណត់នៃកំណត់ត្រានៅក្នុងទំព័រ EmployeeDetails.html របស់យើង សូមកែប្រែការណែនាំ ng-repeat ដូចដែលបានបង្ហាញនៅទីនេះ-

លទ្ធផលត្រូវបានបង្ហាញនៅទីនេះ៖

ឥឡូវនេះ ប្រសិនបើអ្នកដំណើរការទំព័រ ProjectDetails.html កាលបរិច្ឆេទត្រូវបានបង្ហាញជាមួយនឹងពេលវេលា។ អ្នកអាចអនុវត្តតម្រងកាលបរិច្ឆេទដូចដែលបានបង្ហាញក្នុងកូដខាងក្រោម -

((proj.projectID)) ((proj.projectName)) ((proj.startDate|កាលបរិច្ឆេទ៖"short")) ((proj.endDate|កាលបរិច្ឆេទ៖"ខ្លី")) ((proj.clientName))

លទ្ធផលនៃទំព័រនេះមានដូចខាងក្រោម៖

អ្នកអាចប្រើប្រាស់ទម្រង់កាលបរិច្ឆេទផ្សេងៗគ្នាដូចជា - កាលបរិច្ឆេទពេញ, កាលបរិច្ឆេទវែង, កាលបរិច្ឆេទមធ្យម, កាលបរិច្ឆេទខ្លីជាដើម។ ឥឡូវនេះសូមបើកទំព័រ EmployeeDetails.html ហើយដំណើរការវា។ ខ្ញុំកំពុងប្រើតួអក្សរ 'Z' ដើម្បីបង្ហាញបុគ្គលិកដែលឈ្មោះបុគ្គលិកមាន Z ។

ប្រសិនបើអ្នកសង្កេត លទ្ធផលបង្ហាញតារាងបុគ្គលិកដោយគ្មានទិន្នន័យ។ យើងអាចធ្វើឱ្យចំណងជើងមើលមិនឃើញដោយប្រើការណែនាំ ng-show នៅពេលដែលតម្រងមិនបង្កើតលទ្ធផលណាមួយ។ អនុវត្តការណែនាំ ng-show នៅក្នុងស្លាកតារាងរបស់យើង ដូចដែលបានបង្ហាញនៅក្នុងកូដខាងក្រោម ហើយព្យាយាមដំណើរការកម្មវិធីដោយប្រើតួអក្សរ Z ។ ឥឡូវ​នេះ អ្នក​នឹង​មិន​ឃើញ​ជួរ​ឈរ​តារាង​ទេ នៅ​ពេល​ដែល​គំរូ​បុគ្គលិក​គឺ​ទទេ។ គុណលក្ខណៈ ng-show នឹងវាយតម្លៃគំរូបុគ្គលិក ហើយស្របទៅតាមនោះ វានឹងបង្ហាញតារាង ឬលាក់តារាង។

ដូចគ្នានេះដែរ មានការណែនាំមួយចំនួនដែលអ្នកអាចប្រើនៅក្នុង AngularJS។ អ្នកក៏អាចរចនា Custom Directive ដែលយើងនឹងឃើញនៅពេលក្រោយនៅក្នុងស៊េរីនេះ។ អនុវត្តការស្វែងរកនៅលើទិដ្ឋភាពផ្សេងៗតាមតម្រូវការរបស់អ្នកនៅក្នុងទស្សនៈរបស់យើង។ នៅក្នុងអត្ថបទបន្ទាប់របស់យើង យើងនឹងពិនិត្យមើល

ការចុះឈ្មោះការគ្រប់គ្រងត្រូវបានអនុវត្តដោយការណែនាំ @Register ដែលអនុញ្ញាតឱ្យអ្នកប្រើការគ្រប់គ្រងអ្នកប្រើប្រាស់ និងការគ្រប់គ្រងម៉ាស៊ីនមេនៅក្នុងកូដ HTML នៃទំព័រដោយប្រើវាក្យសម្ព័ន្ធពិសេស (វាក្យសម្ព័ន្ធគ្រប់គ្រងម៉ាស៊ីនមេផ្ទាល់ខ្លួនប្រកាស)។ ដោយផ្អែកលើការវិភាគនៃការណែនាំទាំងនេះ អ្នកញែកទំព័រអាចភ្ជាប់ស្លាកជាមួយប្រភេទដែលបានផ្តល់ឱ្យ ហើយនៅពេលបង្កើតទំព័រមួយ បង្កប់ការគ្រប់គ្រងរួចហើយជាធុងនៃប្រភេទផ្ទាល់ខ្លួន - សាខានៃមែកធាងវត្ថុបញ្ជារបស់ទំព័រ។

ការណែនាំត្រូវតែមុនការប្រើប្រាស់ដំបូងនៃស្លាកដែលបានប្រកាស ជាញឹកញាប់ពួកវាត្រូវបានដាក់នៅដើមទំព័រ ហើយក្នុងករណីចុះឈ្មោះវត្ថុបញ្ជាជាច្រើន នៅលើគេហទំព័រដែលមានរចនាសម្ព័ន្ធម៉ូឌុល ចំនួននៃការប្រកាសបែបនេះអាចកាន់កាប់ជួរមួយចំនួនធំ។ . នៅពេលអ្នកផ្លាស់ប្តូរទីតាំងនៃការគ្រប់គ្រង អ្នកត្រូវរកមើលបន្ទាត់ដែលទាមទារការផ្លាស់ប្តូរកូដនៃទំព័រទាំងអស់ និងការគ្រប់គ្រងរបស់អ្នកប្រើប្រាស់ដែលពួកគេត្រូវបានចុះឈ្មោះ ដែលវាពិបាកជាង។

អត្ថបទពិពណ៌នាអំពីវិធីសាស្ត្រដែលជួយសម្រួលដល់ការចុះឈ្មោះវត្ថុបញ្ជា។

សម្រាប់ការណែនាំអំពីការចុះឈ្មោះ យើងនឹងប្រើឯកសារអត្ថបទធម្មតា ដែលយើងនឹងប្រមូលរាល់ការណែនាំ @ ចុះឈ្មោះ។ ដោយសារផ្លូវនិម្មិតអាចត្រូវបានប្រើដើម្បីប្រកាសការគ្រប់គ្រងអ្នកប្រើប្រាស់ ហើយមានតែចន្លោះឈ្មោះប៉ុណ្ណោះដែលត្រូវបានបញ្ជាក់សម្រាប់ការគ្រប់គ្រងម៉ាស៊ីនមេ យើងអាចប្រមូលតំណភ្ជាប់ទាំងអស់ដែលយើងត្រូវការនៅក្នុងឯកសារនេះ ហើយតំណភ្ជាប់ទៅកាន់ឯកសារ ascx នឹងត្រឹមត្រូវសម្រាប់ថតណាមួយនៅក្នុងគម្រោង។ នេះជាអ្វីដែលឯកសារនេះមើលទៅដូចនៅក្នុងគម្រោងមួយ៖


<%@ Register TagPrefix="ch" Namespace="ControlsSharp.HtmlControls" Assembly="ControlsSharp"%>

<%@ Register TagPrefix="cw" Namespace="ControlsSharp.WebControls" Assembly="ControlsSharp"%>

<%@ Register TagPrefix="c" Namespace="ControlsSharp.CustomControls" Assembly="ControlsSharp"%>

<%@ Register TagPrefix="b" Namespace="ControlsBasic.CustomControls" Assembly="ControlsBasic"%>

<%@ Register TagPrefix="cu" TagName="bottommenu" Src="~/UserControls/Menu/cu_menu_bottom.ascx" %>

<%@ Register TagPrefix="cu" TagName="leftmenu" Src="~/UserControls/Menu/cu_menu_left.ascx" %>

<%@ Register TagPrefix="cu" TagName="topmenu" Src="~/UserControls/Menu/cu_menu_top.ascx" %>

ចូរដាក់ឈ្មោះឯកសារ register.inc ហើយដាក់វានៅក្នុងថត /inc នៃគម្រោងបណ្តាញរបស់យើង។

ឯកសារនេះនឹងមានតំណភ្ជាប់ទាំងអស់ដែលយើងត្រូវការ យើងនឹងបន្ថែម ឬផ្លាស់ប្តូរការចុះឈ្មោះអ្នកប្រើប្រាស់ ឬការគ្រប់គ្រងម៉ាស៊ីនមេនៅក្នុងវា។

ឥឡូវនេះ ឯកសារដែលបានបង្កើតត្រូវបញ្ចូលក្នុងលេខកូដទំព័រ។ យើងធ្វើដូចនេះជាមួយ SSI (ផ្នែក server រួមបញ្ចូល) #include directive។ ការណែនាំនេះអនុញ្ញាតឱ្យអ្នកបញ្ចូលឯកសារឋិតិវន្ត និងថាមវន្តនៅក្នុងកូដទំព័រ ដោយដំណើរការពួកវាដោយផ្អែកលើ IIS mapping ពោលគឺឧ។ ការបញ្ជាក់ឯកសារ asp ឬ aspx ជាប្រភពនឹងធ្វើឱ្យឯកសារត្រូវបានដំណើរការដោយដំណើរការសមស្រប ហើយចម្លងលទ្ធផលនៃដំណើរការនេះទៅទំព័រលទ្ធផល។ នៅក្នុង ASP ការណែនាំ #include ត្រូវបានគេប្រើយ៉ាងទូលំទូលាយ និងត្រូវបានអនុញ្ញាតសម្រាប់ម៉ូឌុលនៃគេហទំព័រ។ ជាមួយនឹងការមកដល់នៃ ASP.NET វាបានកាន់តែងាយស្រួលដើម្បីធ្វើវាតាមវិធីផ្សេងទៀត ឧទាហរណ៍ ការប្រើប្រាស់ការគ្រប់គ្រងអ្នកប្រើប្រាស់។ កំណែអនាគតរបស់ ASP.NET នឹងអនុវត្តម៉ូឌុលដោយប្រើទំព័រមេ។ ជាទូទៅ ការណែនាំ #include បានបាត់បង់អត្ថន័យរបស់វា ហើយត្រូវបានរក្សាទុកជាចម្បងសម្រាប់ភាពឆបគ្នាថយក្រោយ និងដើម្បីសម្រួលដល់ការធ្វើចំណាកស្រុកនៃគម្រោង ASP ទៅ .Net ។

ដោយសារយើងមានឯកសារអត្ថបទសាមញ្ញ នោះនឹងមិនមានដំណើរការណាមួយទេ ហើយមុនពេលដែលមាតិកាថាមវន្តណាមួយត្រូវបានប្រតិបត្តិ មាតិកាទាំងមូលនៃឯកសារនឹងត្រូវបានចម្លងទៅក្នុងលេខកូដទំព័រ។ ទាំងនោះ។ ឧទាហរណ៍ ការបន្ថែមឯកសារ register.inc របស់យើងទៅផ្នែកខាងលើនៃទំព័រ គឺស្ទើរតែដូចគ្នានឹងការសរសេរការណែនាំ @Register ទាំងអស់នៅទីនោះដែរ។

ដើម្បីកុំឱ្យអាស្រ័យលើទីតាំងជាក់ស្តែងនៃឯកសារ យើងប្រើវាក្យសម្ព័ន្ធផ្លូវនិម្មិតម្តងទៀត ហើយបន្ថែមបន្ទាត់ខាងក្រោមទៅកូដឯកសារ aspx៖

ត្រូវប្រាកដថាអ្វីៗដំណើរការ បើមិនដូច្នេះទេ កែផ្លូវខុស។

វានៅសល់ដើម្បីអនុវត្តប្រតិបត្តិការមួយទៀត។ ឥឡូវនេះ ប្រសិនបើអ្នកព្យាយាមយកឯកសារ /inc/register.inc ពីតំណនៅក្នុងកម្មវិធីរុករករបស់អ្នក អ្នកអាចធ្វើវាបានយ៉ាងងាយស្រួល។ IIS ដាក់វានៅក្នុងដៃរបស់អ្នក ក៏ដូចជានៅក្នុងដៃរបស់អ្នកវាយប្រហារ ដោយមិនគិតថ្លៃទាំងស្រុង ទោះបីជាវាមានផ្លូវនៃរចនាសម្ព័ន្ធរូបវន្តនៃគេហទំព័ររបស់អ្នកក៏ដោយ។

ដើម្បីការពារកុំឱ្យវាកើតឡើង យើងប្រើសមត្ថភាពរបស់ឧបករណ៍ដោះស្រាយ HttpForbiddenHandler ធ្វើសមកាលកម្ម ដែលអនុញ្ញាតឱ្យយើងការពារឯកសារនៃប្រភេទជាក់លាក់មួយពីការចេញតាមសំណើរបស់អ្នកប្រើ។ វិធីសាស្រ្តនេះគឺងាយស្រួល ហើយត្រូវបានគេប្រើជាញឹកញាប់ឧទាហរណ៍ ដើម្បីការពារឯកសារមូលដ្ឋានទិន្នន័យ MS Access ដែលប្រើក្នុងគម្រោងមួយ។ ដើម្បីឱ្យឯកសារដែលមានផ្នែកបន្ថែម *.inc ត្រូវបានការពារដោយប្រើឧបករណ៍ដោះស្រាយនេះ អ្នកត្រូវប្រាប់ IIS ថាឯកសារទាំងនេះនឹងត្រូវបានដំណើរការដោយដំណើរការ ASP.NET ម្យ៉ាងវិញទៀត កំណត់រចនាសម្ព័ន្ធ IIS ដើម្បីផ្គូផ្គងឯកសារនៃប្រភេទនេះ។

សម្រាប់ការពិពណ៌នាលម្អិតនៃដំណើរការកំណត់រចនាសម្ព័ន្ធសម្រាប់ IIS សូមមើលរបៀប៖ ប្រើ ASP.NET ដើម្បីការពារប្រភេទឯកសារ (http://support.microsoft.com/kb/815152/EN-US/)។ យើងត្រូវបង្កើតផែនទីសម្រាប់តែឯកសារ *.inc ប៉ុណ្ណោះ។ បន្ទាប់ពីបញ្ចប់ជំហានដែលបានពិពណ៌នានៅទីនោះ សំណើទាំងអស់សម្រាប់ឯកសារដែលមានផ្នែកបន្ថែមនេះនឹងត្រូវបានដំណើរការដោយដំណើរការ ASP.NET ហើយអ្នកនឹងត្រូវកែសម្រួលឯកសារ web.config ដូចខាងក្រោម៖

នោះហើយជាវា ឥឡូវនេះ នៅពេលព្យាយាមយកឯកសារ /inc/register.inc តាមរយៈតំណផ្ទាល់ អ្នកប្រើប្រាស់នឹងទទួលបាន error B។

ឧទាហរណ៍ ដើម្បីកុំឱ្យចុះឈ្មោះ aspnet_isapi.dll អ្នកផ្តល់សេវារបស់អ្នកមិនចង់ធ្វើដូចនេះទេ អ្នកអាចប្រើសមត្ថភាព SSI ដើម្បីបញ្ជាក់ឯកសារនៃប្រភេទណាមួយ និងក្លែងបន្លំដោយប្រើផ្នែកបន្ថែមនៃប្រភេទណាមួយដែលបានគូសផែនទីរួចហើយនៅក្នុង IIS តាមលំនាំដើម។ សម្រាប់ឯកសារដែលមានការណែនាំ @Register ។ ផ្នែកបន្ថែម *.cs ឬ *.vb នឹងងាយស្រួលសម្រាប់រឿងនេះ។ ឯកសារទាំងនេះមានកូដប្រភព ហើយជាធម្មតាមិនត្រូវបានចម្លងទៅម៉ាស៊ីនមេទេ។ ប្រសិនបើអ្នកបានធ្វើកំហុស ហើយបានចម្លងភ្លាមៗ អ្នកនឹងមិនអាចយកវាតាមសំណើពីកម្មវិធីរុករកបានទេ - នៅពេលអ្នកព្យាយាមធ្វើវា អ្នកប្រើប្រាស់នឹងទទួលបានកំហុស B. វាកើតឡើងដោយសារតែការគូសផែនទីនៅក្នុង IIS ត្រូវបានកំណត់រចនាសម្ព័ន្ធតាមលំនាំដើម សម្រាប់ឯកសារប្រភេទនេះ និងផ្នែកបន្ថែមដែលត្រូវគ្នាត្រូវបានចុះឈ្មោះរួចហើយនៅក្នុងផ្នែក ឯកសារ machine.config ។ នៅក្នុង Visual Studio ដើម្បីឱ្យកម្មវិធីចងក្រងមិនផ្តល់សារកំហុសដល់អ្នក សូមដាក់ផ្នែកបន្ថែមដែលកម្មវិធីចងក្រងមិនចាប់អារម្មណ៍៖ នៅក្នុងគម្រោង C# វាគឺ *.vb នៅក្នុងគម្រោង VB វាគឺ *.cs ។
សេចក្តីសន្និដ្ឋាន

វិធីសាស្រ្តដែលបានពិពណ៌នាអនុញ្ញាតឱ្យអ្នកចុះឈ្មោះការគ្រប់គ្រងនៅកន្លែងតែមួយសម្រាប់គម្រោងទាំងមូល។ ការកែប្រែជាបន្តបន្ទាប់នៃឯកសារនេះតម្រូវឱ្យមានការខិតខំប្រឹងប្រែងតិចជាងប្រសិនបើអ្នកត្រូវធ្វើវាតាមរបៀបធម្មតា។ សាកល្បងប្រើ SSI #include នៅខាងក្នុងឯកសារដែលអ្នកបញ្ចូល - វាអនុញ្ញាតឱ្យអ្នករៀបចំប្រភេទនៃឋានានុក្រម និងមរតក ដែលអាចងាយស្រួលសម្រាប់គម្រោងធំ។

ម៉ាស៊ីនស្វែងរក Google (www.google.com) ផ្តល់នូវជម្រើសស្វែងរកជាច្រើន។ លក្ខណៈពិសេសទាំងអស់នេះគឺជាឧបករណ៍ស្វែងរកដ៏មានតម្លៃសម្រាប់អ្នកប្រើប្រាស់អ៊ិនធឺណិតលើកដំបូង ហើយក្នុងពេលតែមួយជាអាវុធដ៏មានឥទ្ធិពលនៃការលុកលុយ និងការបំផ្លិចបំផ្លាញនៅក្នុងដៃរបស់មនុស្សដែលមានចេតនាអាក្រក់ រួមទាំងមិនត្រឹមតែពួក Hacker ប៉ុណ្ណោះទេ ថែមទាំងឧក្រិដ្ឋជនមិនមែនកុំព្យូទ័រផងដែរ។ និងសូម្បីតែភេរវករ។
(9475 មើលក្នុងរយៈពេល 1 សប្តាហ៍)

លោក Denis Batrankov
denisNOSPAMixi.ru

យកចិត្តទុកដាក់៖អត្ថបទនេះមិនមែនជាការណែនាំសម្រាប់សកម្មភាពទេ។ អត្ថបទនេះត្រូវបានសរសេរសម្រាប់អ្នក អ្នកគ្រប់គ្រងម៉ាស៊ីនមេ WEB ដូច្នេះអ្នកនឹងបាត់បង់អារម្មណ៍មិនពិតថាអ្នកមានសុវត្ថិភាព ហើយទីបំផុតអ្នកនឹងយល់ពីភាពអាក្រក់នៃវិធីសាស្រ្តនៃការទទួលបានព័ត៌មាននេះ និងកំណត់អំពីការការពារគេហទំព័ររបស់អ្នក។

សេចក្តីផ្តើម

ជាឧទាហរណ៍ ខ្ញុំបានរកឃើញ 1670 ទំព័រក្នុងរយៈពេល 0.14 វិនាទី!

2. តោះបញ្ចូលបន្ទាត់ផ្សេងទៀតឧទាហរណ៍៖

inurl: "auth_user_file.txt"

តិចជាងបន្តិច ប៉ុន្តែនេះគឺគ្រប់គ្រាន់ហើយសម្រាប់ការទាញយកដោយឥតគិតថ្លៃ និងសម្រាប់ការទាយពាក្យសម្ងាត់ (ដោយប្រើ John The Ripper ដូចគ្នា)។ ខាងក្រោមនេះខ្ញុំនឹងលើកឧទាហរណ៍មួយចំនួនទៀត។

ដូច្នេះ អ្នកត្រូវដឹងថា ម៉ាស៊ីនស្វែងរក Google បានចូលមើលគេហទំព័រអ៊ីនធឺណែតភាគច្រើន ហើយបានរក្សាទុកព័ត៌មានដែលមាននៅលើពួកវា។ ព័ត៌មានក្នុងឃ្លាំងសម្ងាត់នេះអនុញ្ញាតឱ្យអ្នកទទួលបានព័ត៌មានអំពីគេហទំព័រ និងខ្លឹមសារនៃគេហទំព័រដោយមិនមានការតភ្ជាប់ដោយផ្ទាល់ទៅគេហទំព័រនោះ ដោយគ្រាន់តែជីកចូលទៅក្នុងព័ត៌មានដែលត្រូវបានរក្សាទុកនៅខាងក្នុងដោយ Google ។ លើសពីនេះទៅទៀត ប្រសិនបើព័ត៌មាននៅលើគេហទំព័រលែងមាន នោះព័ត៌មាននៅក្នុងឃ្លាំងសម្ងាត់អាចនៅតែត្រូវបានរក្សាទុក។ អ្វីទាំងអស់ដែលវាត្រូវការសម្រាប់វិធីសាស្រ្តនេះគឺដើម្បីស្គាល់ពាក្យគន្លឹះ Google មួយចំនួន។ បច្ចេកទេសនេះត្រូវបានគេហៅថា Google Hacking ។

ជាលើកដំបូង ព័ត៌មានអំពីការ Hack Google បានបង្ហាញខ្លួននៅលើបញ្ជីសំបុត្ររួមរបស់ Bugtruck កាលពី 3 ឆ្នាំមុន។ ក្នុងឆ្នាំ 2001 ប្រធានបទនេះត្រូវបានលើកឡើងដោយនិស្សិតបារាំង។ នេះគឺជាតំណភ្ជាប់ទៅកាន់សំបុត្រនេះ http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html ។ វាផ្តល់នូវឧទាហរណ៍ដំបូងនៃសំណើបែបនេះ៖

1) សន្ទស្សន៍/admin
2) សន្ទស្សន៍ / ពាក្យសម្ងាត់
3) សន្ទស្សន៍នៃ / mail
4) សន្ទស្សន៍នៃ / +banques +filetype:xls (សម្រាប់ប្រទេសបារាំង...)
5) សន្ទស្សន៍នៃ / +passwd
6) លិបិក្រមនៃ/password.txt

ប្រធានបទនេះបានធ្វើឱ្យមានការរំខានយ៉ាងខ្លាំងនៅក្នុងផ្នែកអានភាសាអង់គ្លេសនៃអ៊ីនធឺណិតនាពេលថ្មីៗនេះ៖ បន្ទាប់ពីអត្ថបទមួយរបស់ Johnny Long បានបោះពុម្ពនៅថ្ងៃទី 7 ខែឧសភាឆ្នាំ 2004 ។ សម្រាប់ការសិក្សាពេញលេញបន្ថែមទៀតនៃការ Hack Google ខ្ញុំណែនាំអ្នកឱ្យចូលទៅកាន់គេហទំព័ររបស់អ្នកនិពន្ធនេះ http://johnny.ihackstuff.com ។ ក្នុង​អត្ថបទ​នេះ ខ្ញុំ​គ្រាន់​តែ​ចង់​នាំ​មក​ជូន​អ្នក​នូវ​ព័ត៌មាន​ថ្មីៗ។

តើអ្នកណាអាចប្រើវា៖
- អ្នកសារព័ត៌មាន អ្នកស៊ើបការណ៍ និងមនុស្សទាំងអស់ដែលចូលចិត្តញុះញង់ចូលទៅក្នុងអាជីវកម្មរបស់អ្នកដ៏ទៃ អាចប្រើប្រាស់វាដើម្បីស្វែងរកភស្តុតាងសម្របសម្រួល។
- ពួក Hacker កំពុងស្វែងរកគោលដៅសមរម្យសម្រាប់ការលួចចូល។

របៀបដែល Google ដំណើរការ។

ដើម្បីបន្តការសន្ទនា ខ្ញុំសូមរំលឹកអ្នកអំពីពាក្យគន្លឹះមួយចំនួនដែលប្រើក្នុងសំណួរ Google ។

ស្វែងរកដោយប្រើសញ្ញា +

Google មិនរាប់បញ្ចូលពាក្យដែលមិនសំខាន់ តាមគំនិតរបស់វាពីការស្វែងរក។ ឧទាហរណ៍ ពាក្យសួរចម្លើយ បុព្វបទ និងអត្ថបទជាភាសាអង់គ្លេស៖ ឧទាហរណ៍ គឺ នៃ កន្លែង។ នៅក្នុងភាសារុស្សី Google ហាក់ដូចជាចាត់ទុកពាក្យទាំងអស់មានសារៈសំខាន់។ ប្រសិនបើពាក្យត្រូវបានដកចេញពីការស្វែងរកនោះ Google សរសេរអំពីវា។ ដើម្បីឱ្យ Google ចាប់ផ្តើមស្វែងរកទំព័រដែលមានពាក្យទាំងនេះ អ្នកត្រូវបន្ថែមសញ្ញា + ពីមុខពួកវាដោយគ្មានចន្លោះនៅពីមុខពាក្យ។ ឧទាហរណ៍:

សន្លឹកអាត់ + នៃមូលដ្ឋាន

ស្វែងរកតាមសញ្ញា -

ប្រសិនបើ Google រកឃើញទំព័រមួយចំនួនធំ ដែលចាំបាច់ត្រូវដកចេញទំព័រដែលមានប្រធានបទជាក់លាក់ នោះអ្នកអាចបង្ខំ Google ឱ្យស្វែងរកតែទំព័រដែលមិនមានពាក្យជាក់លាក់។ ដើម្បីធ្វើដូចនេះអ្នកត្រូវចង្អុលបង្ហាញពាក្យទាំងនេះដោយដាក់សញ្ញានៅពីមុខនីមួយៗ - ដោយគ្មានចន្លោះនៅពីមុខពាក្យ។ ឧទាហរណ៍:

នេសាទ - វ៉ូដាកា

ស្វែងរកដោយសញ្ញា ~

អ្នកប្រហែលជាចង់រកមើលមិនត្រឹមតែពាក្យដែលបានបញ្ជាក់ប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងមានន័យដូចរបស់វាផងដែរ។ ដើម្បី​ធ្វើ​ដូច​នេះ សូម​នាំ​មុខ​ពាក្យ​ដែល​មាន​សញ្ញា ~ ។

ស្វែងរកឃ្លាជាក់លាក់មួយដោយប្រើសញ្ញាសម្រង់ទ្វេ

Google ស្វែងរកនៅលើទំព័រនីមួយៗសម្រាប់រាល់ការកើតឡើងនៃពាក្យដែលអ្នកបានសរសេរនៅក្នុងខ្សែអក្សរសំណួរ ហើយវាមិនខ្វល់ពីទីតាំងដែលទាក់ទងនៃពាក្យនោះទេ រឿងសំខាន់គឺថាពាក្យដែលបានបញ្ជាក់ទាំងអស់គឺនៅលើទំព័រក្នុងពេលតែមួយ ( នេះគឺជាសកម្មភាពលំនាំដើម) ។ ដើម្បីស្វែងរកឃ្លាពិតប្រាកដ អ្នកត្រូវដាក់វានៅក្នុងសញ្ញាសម្រង់។ ឧទាហរណ៍:

"កក់ទុក"

ដើម្បី​មាន​ពាក្យ​យ៉ាង​ហោច​ណាស់​មួយ​ក្នុង​ចំណោម​ពាក្យ​ដែល​បាន​បញ្ជាក់ អ្នក​ត្រូវ​តែ​បញ្ជាក់​ប្រតិបត្តិការ​ឡូជីខល​យ៉ាង​ច្បាស់៖ OR ។ ឧទាហរណ៍:

សុវត្ថិភាពសៀវភៅ ឬការការពារ

លើសពីនេះ អ្នកអាចប្រើសញ្ញា * ក្នុងខ្សែអក្សរស្វែងរក ដើម្បីសម្គាល់ពាក្យណាមួយ និង។ ដើម្បីតំណាងឱ្យតួអក្សរណាមួយ។

ស្វែងរកពាក្យជាមួយប្រតិបត្តិករបន្ថែម

មានប្រតិបត្តិករស្វែងរកដែលត្រូវបានបញ្ជាក់នៅក្នុងខ្សែអក្សរស្វែងរកក្នុងទម្រង់៖

ប្រតិបត្តិករ៖ ពាក្យស្វែងរក

ចន្លោះនៅជិតពោះវៀនធំមិនចាំបាច់ទេ។ ប្រសិនបើអ្នកបញ្ចូលចន្លោះបន្ទាប់ពីសញ្ញាសម្គាល់ អ្នកនឹងឃើញសារកំហុសមួយ ហើយមុនពេលវា Google នឹងប្រើពួកវាជាខ្សែអក្សរស្វែងរកធម្មតា។
មានក្រុមនៃប្រតិបត្តិករស្វែងរកបន្ថែម៖ ភាសា - ចង្អុលបង្ហាញជាភាសាដែលអ្នកចង់ឃើញលទ្ធផល កាលបរិច្ឆេទ - កំណត់លទ្ធផលសម្រាប់រយៈពេលបី ប្រាំមួយ ឬ 12 ខែកន្លងមក ការកើតឡើង - ចង្អុលបង្ហាញកន្លែងដែលនៅក្នុងឯកសារដែលអ្នកត្រូវរកមើល ខ្សែអក្សរ៖ គ្រប់ទីកន្លែង ក្នុងចំណងជើង ក្នុង URL ដែន - ស្វែងរកគេហទំព័រដែលបានបញ្ជាក់ ឬផ្ទុយមកវិញដកវាពីការស្វែងរក ការស្វែងរកដោយសុវត្ថិភាព - ប្លុកគេហទំព័រដែលមានប្រភេទព័ត៌មានដែលបានបញ្ជាក់ ហើយលុបវាចេញពីទំព័រលទ្ធផលស្វែងរក។
ទោះយ៉ាងណាក៏ដោយ ប្រតិបត្តិករមួយចំនួនមិនត្រូវការប៉ារ៉ាម៉ែត្របន្ថែមទេ ឧទាហរណ៍ សំណួរ " ឃ្លាំងសម្ងាត់៖ www.google.com" អាចត្រូវបានគេហៅថាជាខ្សែអក្សរស្វែងរកពេញលេញ ហើយពាក្យគន្លឹះមួយចំនួន ផ្ទុយទៅវិញ ទាមទារពាក្យស្វែងរក ឧទាហរណ៍ " គេហទំព័រ៖ www.google.com ជំនួយ"។ នៅក្នុងពន្លឺនៃប្រធានបទរបស់យើងសូមមើលប្រតិបត្តិករដូចខាងក្រោម:

ប្រតិបត្តិករ

ការពិពណ៌នា

ទាមទារប៉ារ៉ាម៉ែត្របន្ថែម?

ស្វែងរកតែគេហទំព័រដែលបានបញ្ជាក់ក្នុង search_term ប៉ុណ្ណោះ។

ស្វែងរកតែក្នុងឯកសារដែលមានប្រភេទ search_term

ស្វែងរកទំព័រដែលមានពាក្យ search_term នៅក្នុងចំណងជើង

ស្វែងរកទំព័រដែលមានពាក្យ search_term ទាំងអស់នៅក្នុងចំណងជើង

ស្វែងរកទំព័រដែលមានពាក្យ search_term នៅក្នុងអាសយដ្ឋានរបស់ពួកគេ។

ស្វែងរកទំព័រដែលមានពាក្យ search_term នៅក្នុងអាសយដ្ឋានរបស់ពួកគេ។

ប្រតិបត្តិករ គេហទំព័រ៖កំណត់ការស្វែងរកតែនៅលើគេហទំព័រដែលបានបញ្ជាក់ ហើយអ្នកអាចបញ្ជាក់មិនត្រឹមតែឈ្មោះដែនប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងអាសយដ្ឋាន IP ផងដែរ។ ឧទាហរណ៍ បញ្ចូល៖

ប្រតិបត្តិករ ប្រភេទឯកសារ៖ដាក់កម្រិតការស្វែងរកទៅឯកសារនៃប្រភេទជាក់លាក់មួយ។ ឧទាហរណ៍:

គិតត្រឹមកាលបរិច្ឆេទនៃអត្ថបទនេះ Google អាចស្វែងរកក្នុងទម្រង់ឯកសារចំនួន 13 ផ្សេងគ្នា៖

  • ទម្រង់ឯកសារ Adobe Portable (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus Word Pro (lwp)
  • MacWrite(mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (doc)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft សរសេរ (wri)
  • ទម្រង់អត្ថបទសម្បូរបែប (rtf)
  • Shockwave Flash (swf)
  • អត្ថបទ (ans, txt)

ប្រតិបត្តិករ តំណភ្ជាប់៖បង្ហាញទំព័រទាំងអស់ដែលចង្អុលទៅទំព័រដែលបានបញ្ជាក់។
វាត្រូវតែគួរឱ្យចាប់អារម្មណ៍ជានិច្ចដើម្បីមើលថាតើកន្លែងប៉ុន្មាននៅលើអ៊ីនធឺណិតដឹងពីអ្នក។ យើង​ព្យាយាម:

ប្រតិបត្តិករ ឃ្លាំង​សម្ងាត់:បង្ហាញកំណែឃ្លាំងសម្ងាត់ Google នៃគេហទំព័រ ដូចដែលវាមើលទៅនៅពេលដែល Google បានចូលមើលទំព័រចុងក្រោយ។ យើងយកគេហទំព័រដែលផ្លាស់ប្តូរញឹកញាប់ ហើយមើល៖

ប្រតិបត្តិករ ចំណងជើង៖ស្វែងរកពាក្យដែលបានបញ្ជាក់នៅក្នុងចំណងជើងទំព័រ។ ប្រតិបត្តិករ allintitle:គឺជាផ្នែកបន្ថែមមួយ - វារកមើលពាក្យមួយចំនួនដែលបានបញ្ជាក់ទាំងអស់នៅក្នុងចំណងជើងទំព័រ។ ប្រៀបធៀប៖

ចំណងជើង៖ ការហោះហើរទៅកាន់ភពព្រះអង្គារ
intitle:flight intitle:on intitle:mars
allintitle: ការហោះហើរទៅកាន់ភពព្រះអង្គារ

ប្រតិបត្តិករ inurl:បណ្តាលឱ្យ Google បង្ហាញទំព័រទាំងអស់ដែលមានខ្សែអក្សរដែលបានបញ្ជាក់នៅក្នុង URL ។ allinurl៖ ស្វែងរកពាក្យទាំងអស់ក្នុង URL ។ ឧទាហរណ៍:

allinurl:acid_stat_alerts.php

ពាក្យបញ្ជានេះមានប្រយោជន៍ជាពិសេសសម្រាប់អ្នកដែលមិនមាន SNORT - យ៉ាងហោចណាស់ពួកគេអាចមើលឃើញពីរបៀបដែលវាដំណើរការនៅលើប្រព័ន្ធពិត។

វិធីសាស្រ្តនៃការលួច Google

ដូច្នេះ យើងបានរកឃើញថា ដោយប្រើការរួមបញ្ចូលគ្នានៃប្រតិបត្តិករខាងលើ និងពាក្យគន្លឹះ នរណាម្នាក់អាចប្រមូលព័ត៌មានចាំបាច់ និងស្វែងរកភាពងាយរងគ្រោះ។ បច្ចេកទេសទាំងនេះត្រូវបានសំដៅជាញឹកញាប់ថាជា Google Hacking ។

ផែនទីរបស់គេហទំព័រ

អ្នកអាចប្រើគេហទំព័រ៖ សេចក្តីថ្លែងការណ៍ដើម្បីមើលតំណភ្ជាប់ទាំងអស់ដែល Google បានរកឃើញនៅលើគេហទំព័រ។ ជាធម្មតា ទំព័រដែលត្រូវបានបង្កើតដោយថាមវន្តដោយស្គ្រីបមិនត្រូវបានធ្វើលិបិក្រមដោយប្រើប៉ារ៉ាម៉ែត្រទេ ដូច្នេះគេហទំព័រខ្លះប្រើតម្រង ISAPI ដូច្នេះតំណភ្ជាប់មិនស្ថិតក្នុងទម្រង់ /article.asp?num=10&dst=5ប៉ុន្តែជាមួយនឹងសញ្ញា /article/abc/num/10/dst/5. នេះត្រូវបានធ្វើដើម្បីធានាថាគេហទំព័រនេះត្រូវបានធ្វើលិបិក្រមជាទូទៅដោយម៉ាស៊ីនស្វែងរក។

តោះ​សាកល្បង:

គេហទំព័រ៖ www.whitehouse.gov ផ្ទះស

Google គិត​ថា​គ្រប់​ទំព័រ​នៅ​លើ​គេហទំព័រ​មាន​ពាក្យ whitehouse។ នេះគឺជាអ្វីដែលយើងប្រើដើម្បីទទួលបានទំព័រទាំងអស់។
ក៏មានកំណែសាមញ្ញផងដែរ៖

គេហទំព័រ៖ whitehouse.gov

ហើយផ្នែកដ៏ល្អបំផុតនោះគឺថា សមមិត្តមកពី whitehouse.gov មិនទាំងដឹងថាយើងបានមើលរចនាសម្ព័ន្ធនៃគេហទំព័ររបស់ពួកគេ ហើយថែមទាំងមើលទៅក្នុងឃ្លាំងសម្ងាត់ដែល Google បានទាញយកសម្រាប់ខ្លួនវាទៀតផង។ វាអាចត្រូវបានប្រើដើម្បីសិក្សារចនាសម្ព័ន្ធនៃគេហទំព័រ និងមើលមាតិកាដោយមិនត្រូវបានកត់សម្គាល់សម្រាប់ពេលនេះ។

ការចុះបញ្ជីឯកសារនៅក្នុងថត

ម៉ាស៊ីនមេ WEB អាចបង្ហាញបញ្ជីឈ្មោះម៉ាស៊ីនមេជំនួសឱ្យទំព័រ HTML ធម្មតា។ ជាធម្មតា វាត្រូវបានធ្វើដើម្បីបង្ខំអ្នកប្រើប្រាស់ឱ្យជ្រើសរើស និងទាញយកឯកសារជាក់លាក់។ ទោះយ៉ាងណាក៏ដោយ ក្នុងករណីជាច្រើន អ្នកគ្រប់គ្រងមិនមានបំណងបង្ហាញខ្លឹមសារនៃថតឯកសារនោះទេ។ នេះគឺដោយសារតែការកំណត់មិនត្រឹមត្រូវនៃម៉ាស៊ីនមេ ឬអវត្តមាននៃទំព័រមេនៅក្នុងថត។ ជាលទ្ធផល hacker មានឱកាសស្វែងរកអ្វីដែលគួរឱ្យចាប់អារម្មណ៍នៅក្នុងថតហើយប្រើវាសម្រាប់គោលបំណងផ្ទាល់ខ្លួនរបស់គាត់។ ដើម្បីស្វែងរកទំព័របែបនេះទាំងអស់ វាគ្រប់គ្រាន់ក្នុងការកត់សម្គាល់ថាពួកវាទាំងអស់មានពាក្យ: លិបិក្រមនៃចំណងជើងរបស់ពួកគេ។ ប៉ុន្តែដោយសារលិបិក្រមនៃពាក្យមានមិនត្រឹមតែទំព័របែបនេះទេ យើងត្រូវកែលម្អសំណួរ និងពិចារណាលើពាក្យគន្លឹះនៅលើទំព័រខ្លួនឯង ដូច្នេះសំណួរដូចជា៖

intitle:index.of ថតមេ
intitle:index.of size ឈ្មោះ

ដោយសារការចុះបញ្ជីបញ្ជីឈ្មោះភាគច្រើនមានចេតនា អ្នកប្រហែលជាមានការលំបាកក្នុងការស្វែងរកការចុះបញ្ជីមិនត្រឹមត្រូវជាលើកដំបូង។ ប៉ុន្តែយ៉ាងហោចណាស់អ្នកនឹងអាចប្រើបញ្ជីដើម្បីកំណត់កំណែម៉ាស៊ីនមេ WEB ដូចដែលបានពិពណ៌នាខាងក្រោម។

ទទួលបានកំណែម៉ាស៊ីនមេគេហទំព័រ។

ការដឹងពីកំណែម៉ាស៊ីនមេ WEB គឺតែងតែមានប្រយោជន៍មុនពេលចាប់ផ្តើមការវាយប្រហាររបស់ពួក Hacker ។ ជាថ្មីម្តងទៀត សូមអរគុណដល់ Google វាអាចទទួលបានព័ត៌មាននេះដោយមិនចាំបាច់ភ្ជាប់ទៅម៉ាស៊ីនមេ។ ប្រសិនបើអ្នកក្រឡេកមើលយ៉ាងដិតដល់នូវបញ្ជីឈ្មោះអ្នកអាចមើលឃើញថាឈ្មោះរបស់ម៉ាស៊ីនមេ WEB និងកំណែរបស់វាត្រូវបានបង្ហាញនៅទីនោះ។

Apache1.3.29 - ម៉ាស៊ីនមេ ProXad នៅ trf296.free.fr ច្រក 80

អ្នកគ្រប់គ្រងដែលមានបទពិសោធន៍អាចផ្លាស់ប្តូរព័ត៌មាននេះបាន ប៉ុន្តែតាមក្បួនវាជាការពិត។ ដូច្នេះ ដើម្បីទទួលបានព័ត៌មាននេះ វាគ្រប់គ្រាន់ក្នុងការផ្ញើសំណើមួយ៖

intitle:index.of server.at

ដើម្បីទទួលបានព័ត៌មានសម្រាប់ម៉ាស៊ីនមេជាក់លាក់មួយ យើងកែលម្អសំណើ៖

intitle:index.of server.at site:ibm.com

ឬផ្ទុយទៅវិញ យើងកំពុងស្វែងរកម៉ាស៊ីនមេដែលកំពុងដំណើរការលើកំណែជាក់លាក់នៃម៉ាស៊ីនមេ៖

intitle:index.of Apache/2.0.40 Server at

បច្ចេកទេសនេះអាចត្រូវបានប្រើប្រាស់ដោយពួក Hacker ដើម្បីស្វែងរកជនរងគ្រោះ។ ឧទាហរណ៍ ប្រសិនបើគាត់មានការកេងប្រវ័ញ្ចសម្រាប់កំណែជាក់លាក់នៃម៉ាស៊ីនមេ WEB នោះគាត់អាចស្វែងរកវា ហើយសាកល្បងការកេងប្រវ័ញ្ចដែលមានស្រាប់។

អ្នកក៏អាចទទួលបានកំណែម៉ាស៊ីនមេដោយមើលទំព័រដែលត្រូវបានដំឡើងតាមលំនាំដើមនៅពេលដំឡើងកំណែថ្មីនៃម៉ាស៊ីនមេ WEB ។ ឧទាហរណ៍ ដើម្បីមើលទំព័រសាកល្បង Apache 1.2.6 គ្រាន់តែវាយ

intitle:Test.Page.for.Apache it.worked!

លើសពីនេះទៅទៀត ប្រព័ន្ធប្រតិបត្តិការមួយចំនួនបានដំឡើង និងបើកដំណើរការម៉ាស៊ីនមេ WEB ភ្លាមៗកំឡុងពេលដំឡើង។ ទោះ​ជា​យ៉ាង​ណា​អ្នក​ប្រើ​មួយ​ចំនួន​មិន​បាន​សូម្បី​តែ​ដឹង​អំពី​នេះ​។ តាមធម្មជាតិ ប្រសិនបើអ្នកឃើញថានរណាម្នាក់មិនបានលុបទំព័រលំនាំដើមទេ នោះវាជាឡូជីខលក្នុងការសន្មត់ថាកុំព្យូទ័រមិនត្រូវបានទទួលរងនូវការកំណត់ណាមួយទាល់តែសោះ ហើយប្រហែលជាងាយរងការវាយប្រហារ។

ព្យាយាមស្វែងរកទំព័រ IIS 5.0

allintitle: សូមស្វាគមន៍មកកាន់ Windows 2000 Internet Services

ក្នុងករណី IIS អ្នកអាចកំណត់មិនត្រឹមតែកំណែរបស់ម៉ាស៊ីនមេប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងកំណែរបស់វីនដូ និងកញ្ចប់សេវាកម្មផងដែរ។

វិធីមួយទៀតដើម្បីកំណត់កំណែរបស់ម៉ាស៊ីនមេ WEB គឺត្រូវរកមើលសៀវភៅណែនាំ (ទំព័រជំនួយ) និងឧទាហរណ៍ដែលអាចត្រូវបានដំឡើងនៅលើគេហទំព័រតាមលំនាំដើម។ ពួក Hacker បានរកឃើញវិធីមួយចំនួនដើម្បីប្រើសមាសធាតុទាំងនេះដើម្បីទទួលបានសិទ្ធិចូលប្រើគេហទំព័រ។ នោះហើយជាមូលហេតុដែលអ្នកត្រូវដកសមាសធាតុទាំងនេះចេញពីកន្លែងផលិត។ មិនមែននិយាយអំពីការពិតដែលថាដោយវត្តមាននៃសមាសធាតុទាំងនេះអ្នកអាចទទួលបានព័ត៌មានអំពីប្រភេទនៃម៉ាស៊ីនមេនិងកំណែរបស់វា។ ជាឧទាហរណ៍ ចូរយើងស្វែងរកសៀវភៅណែនាំ apache៖

inurl: ម៉ូឌុលការណែនាំ apache ដោយដៃ

ការប្រើប្រាស់ Google ជាម៉ាស៊ីនស្កេន CGI ។

CGI scanner ឬ WEB scanner គឺជាឧបករណ៍ប្រើប្រាស់សម្រាប់ស្វែងរកស្គ្រីប និងកម្មវិធីដែលងាយរងគ្រោះនៅលើ server របស់ជនរងគ្រោះ។ ឧបករណ៍ប្រើប្រាស់ទាំងនេះត្រូវដឹងពីអ្វីដែលត្រូវរកមើល សម្រាប់ការនេះ ពួកគេមានបញ្ជីទាំងមូលនៃឯកសារដែលងាយរងគ្រោះ ឧទាហរណ៍៖

/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi

/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi

យើងអាចស្វែងរកឯកសារទាំងនេះនីមួយៗដោយប្រើ Google ដោយប្រើពាក្យ index of or inurl បន្ថែមលើឈ្មោះឯកសារក្នុងរបារស្វែងរក៖ យើងអាចស្វែងរកគេហទំព័រដែលមានអក្សរងាយរងគ្រោះ ឧទាហរណ៍៖

allinurl:/random_banner/index.cgi

ជាមួយនឹងចំណេះដឹងបន្ថែម ហេកឃ័រអាចទាញយកភាពងាយរងគ្រោះនៃស្គ្រីប និងប្រើភាពងាយរងគ្រោះដើម្បីបង្ខំឱ្យស្គ្រីបបម្រើឯកសារណាមួយដែលផ្ទុកនៅលើម៉ាស៊ីនមេ។ ឧទាហរណ៍ឯកសារពាក្យសម្ងាត់។

វិធីការពារខ្លួនអ្នកពីការលួចចូលតាម Google ។

1. កុំផ្ទុកទិន្នន័យសំខាន់ទៅម៉ាស៊ីនមេ WEB ។

ទោះបីជាអ្នកបង្ហោះទិន្នន័យជាបណ្ដោះអាសន្នក៏ដោយ អ្នកអាចភ្លេចអំពីវា ឬនរណាម្នាក់នឹងមានពេលស្វែងរក និងយកទិន្នន័យនេះមុនពេលអ្នកលុបវា។ កុំធ្វើវា។ មានវិធីជាច្រើនទៀតដើម្បីផ្ទេរទិន្នន័យដែលការពារវាពីការលួច។

2. ពិនិត្យគេហទំព័ររបស់អ្នក។

ប្រើវិធីសាស្រ្តដែលបានពិពណ៌នាដើម្បីស្រាវជ្រាវគេហទំព័ររបស់អ្នក។ ពិនិត្យមើលគេហទំព័ររបស់អ្នកជាទៀងទាត់សម្រាប់វិធីសាស្រ្តថ្មីដែលបង្ហាញនៅលើគេហទំព័រ http://johnny.ihackstuff.com ។ សូមចងចាំថាប្រសិនបើអ្នកចង់ធ្វើឱ្យសកម្មភាពរបស់អ្នកដោយស្វ័យប្រវត្តិ អ្នកត្រូវទទួលបានការអនុញ្ញាតពិសេសពី Google ។ ប្រសិនបើអ្នកអានដោយប្រុងប្រយ័ត្ន http://www.google.com/terms_of_service.htmlបន្ទាប់មកអ្នកនឹងឃើញឃ្លា៖ អ្នកមិនអាចផ្ញើសំណួរដោយស្វ័យប្រវត្តិនៃប្រភេទណាមួយទៅកាន់ប្រព័ន្ធរបស់ Google ដោយគ្មានការអនុញ្ញាតច្បាស់លាស់ជាមុនពី Google ។

3. អ្នកប្រហែលជាមិនត្រូវការ Google ដើម្បីធ្វើលិបិក្រមគេហទំព័ររបស់អ្នក ឬផ្នែករបស់វានោះទេ។

Google អនុញ្ញាតឱ្យអ្នកលុបតំណភ្ជាប់ទៅកាន់គេហទំព័ររបស់អ្នក ឬផ្នែករបស់វាចេញពីមូលដ្ឋានទិន្នន័យរបស់វា ក៏ដូចជាលុបទំព័រចេញពីឃ្លាំងសម្ងាត់ផងដែរ។ លើស​ពី​នេះ​ទៅ​ទៀត អ្នក​អាច​ហាម​ឃាត់​ការ​ស្វែង​រក​រូបភាព​នៅ​លើ​គេហទំព័រ​របស់​អ្នក ហាម​ការ​បង្ហាញ​បំណែក​ខ្លីៗ​នៃ​ទំព័រ​ក្នុង​លទ្ធផល​ស្វែងរក។ ជម្រើស​ទាំងអស់​សម្រាប់​ការ​លុប​គេហទំព័រ​ត្រូវ​បាន​ពិពណ៌នា​នៅ​លើ​ទំព័រ។ http://www.google.com/remove.html. ដើម្បីធ្វើដូច្នេះ អ្នកត្រូវតែបញ្ជាក់ថាអ្នកពិតជាម្ចាស់គេហទំព័រនេះ ឬបញ្ចូលស្លាកនៅលើទំព័រ ឬ

4. ប្រើ robots.txt

វាត្រូវបានគេដឹងថាម៉ាស៊ីនស្វែងរកមើលទៅក្នុងឯកសារ robots.txt នៅឫសនៃគេហទំព័រ ហើយមិនធ្វើលិបិក្រមផ្នែកទាំងនោះដែលត្រូវបានសម្គាល់ដោយពាក្យនោះទេ។ មិនអនុញ្ញាត. អ្នក​អាច​ប្រើ​វា​ដើម្បី​ការពារ​ផ្នែក​នៃ​គេហទំព័រ​ពី​ការ​ធ្វើ​លិបិក្រម។ ឧទាហរណ៍ ដើម្បីជៀសវាងការធ្វើលិបិក្រមគេហទំព័រទាំងមូល បង្កើតឯកសារ robots.txt ដែលមានពីរបន្ទាត់៖

ភ្នាក់ងារ​អ្នក​ប្រើ: *
មិនអនុញ្ញាត៖ /

តើមានអ្វីកើតឡើងទៀត។

ដូច្នេះជីវិតហាក់ដូចជាមិនដូចទឹកឃ្មុំសម្រាប់អ្នក ខ្ញុំនឹងនិយាយនៅទីបញ្ចប់ថាមានគេហទំព័រដែលធ្វើតាមមនុស្សទាំងនោះដែលដោយប្រើវិធីខាងលើ រកមើលរន្ធនៅក្នុងស្គ្រីប និងម៉ាស៊ីនមេ WEB ។ ឧទាហរណ៍នៃទំព័របែបនេះគឺ

ឧបសម្ព័ន្ធ។

ផ្អែមបន្តិច។ សាកល្បងវិធីមួយក្នុងចំណោមវិធីខាងក្រោមសម្រាប់ខ្លួនអ្នក៖

1. #mysql dump filetype:sql - ស្វែងរកកន្លែងចាក់សំរាម mySQL
2. Host Vulnerability Summary Report - នឹងបង្ហាញអ្នកពីភាពងាយរងគ្រោះដែលមនុស្សផ្សេងទៀតបានរកឃើញ
3. phpMyAdmin ដំណើរការលើ inurl:main.php - វានឹងបង្ខំឱ្យបិទការគ្រប់គ្រងតាមរយៈបន្ទះ phpmyadmin
4. មិនមែនសម្រាប់ការចែកចាយសម្ងាត់
5. ស្នើសុំព័ត៌មានលម្អិតគ្រប់គ្រងអថេរម៉ាស៊ីនមេមែកធាង
6. ដំណើរការក្នុងរបៀបកុមារ
7. របាយការណ៍នេះត្រូវបានបង្កើតឡើងដោយ WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs - ប្រហែលជាមាននរណាម្នាក់ត្រូវការឯកសារកំណត់រចនាសម្ព័ន្ធជញ្ជាំងភ្លើង? :)
10. intitle:index.of finances.xls - ហ៊ឹម....
11. intitle:Index of dbconvert.exe chats - icq chat logs
12. អត្ថបទ៖ ការវិភាគចរាចរណ៍ Tobias Oetiker
13. intitle:Usage Statistics for Generated by Webalizer
14. ចំណងជើង៖ ស្ថិតិនៃស្ថិតិគេហទំព័រកម្រិតខ្ពស់
15. intitle:index.of ws_ftp.ini - ws ftp config
16. inurl:ipsec.secrets រក្សាអាថ៌កំបាំងដែលបានចែករំលែក - គន្លឹះសម្ងាត់ - ការស្វែងរកល្អ។
17. inurl:main.php សូមស្វាគមន៍មកកាន់ phpMyAdmin
18. inurl:server-info Apache Server Information
19. site:edu admin grades
20. ORA-00921៖ ការបញ្ចប់ដែលមិនបានរំពឹងទុកនៃពាក្យបញ្ជា SQL - ទទួលបានផ្លូវ
21. intitle:index.of trillian.ini
22. intitle:Index of pwd.db
23. intitle:index.of people.lst
24. intitle:index.of master.passwd
25.inurl:passlist.txt
26. intitle:Index of .mysql_history
27. intitle:index of intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle:Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "ការលួចចូល Google"
  • មជ្ឈមណ្ឌលបណ្តុះបណ្តាល "Informzashchita" http://www.itsecurity.ru - មជ្ឈមណ្ឌលឯកទេសឈានមុខគេក្នុងវិស័យបណ្តុះបណ្តាលសន្តិសុខព័ត៌មាន (អាជ្ញាប័ណ្ណនៃគណៈកម្មាធិការអប់រំទីក្រុងម៉ូស្គូលេខ 015470 ការទទួលស្គាល់រដ្ឋលេខ 004251) ។ មជ្ឈមណ្ឌលបណ្តុះបណ្តាលដែលមានការអនុញ្ញាតតែមួយគត់នៃប្រព័ន្ធសន្តិសុខអ៊ីនធឺណិត និង Clearswift នៅក្នុងប្រទេសរុស្ស៊ី និងបណ្តាប្រទេស CIS ។ មជ្ឈមណ្ឌលបណ្តុះបណ្តាលដែលមានការអនុញ្ញាតពី Microsoft (ឯកទេសសុវត្ថិភាព)។ កម្មវិធីបណ្តុះបណ្តាលត្រូវបានសម្របសម្រួលជាមួយគណៈកម្មការបច្ចេកទេសរដ្ឋនៃប្រទេសរុស្ស៊ី FSB (FAPSI) ។ វិញ្ញាបនប័ត្របណ្តុះបណ្តាល និងឯកសាររដ្ឋស្តីពីការបណ្តុះបណ្តាលកម្រិតខ្ពស់។

    SoftKey គឺជាសេវាកម្មតែមួយគត់សម្រាប់អ្នកទិញ អ្នកអភិវឌ្ឍន៍ អ្នកចែកចាយ និងដៃគូសហការ។ លើសពីនេះទៀត នេះគឺជាហាងលក់កម្មវិធីអនឡាញដ៏ល្អបំផុតមួយនៅក្នុងប្រទេសរុស្ស៊ី អ៊ុយក្រែន កាហ្សាក់ស្ថាន ដែលផ្តល់ជូនអតិថិជននូវជួរដ៏ធំទូលាយ វិធីសាស្រ្តទូទាត់ជាច្រើន ដំណើរការការបញ្ជាទិញភ្លាមៗ (ជាញឹកញាប់ភ្លាមៗ) តាមដានដំណើរការបំពេញការបញ្ជាទិញនៅក្នុងផ្នែកផ្ទាល់ខ្លួន ការបញ្ចុះតម្លៃផ្សេងៗ។ ពីហាងនិងអ្នកផលិត ON ។