Nenani za kusokonekera kwa git repository ndi ogwiritsa ntchito projekiti ya PHP

Zotsatira zoyamba za kuwunika kwa chochitika chokhudzana ndi kuzindikirika kwa machitidwe awiri oyipa m'malo a Git a pulojekiti ya PHP yokhala ndi khomo lakumbuyo lomwe lidatsegulidwa potumiza pempho ndi mutu wopangidwa mwapadera wa User Agent zasindikizidwa. Pophunzira za zochitika za owukirawo, adatsimikiza kuti seva ya git.php.net yomwe, pomwe git repository inali, sinaberedwe, koma nkhokwe yokhala ndi maakaunti a oyambitsa polojekiti idasokonezedwa. .

N'zotheka kuti otsutsawo adatha kutsitsa deta yosungidwa mu DBMS pa seva ya master.php.net. Zomwe zili mu master.php.net zasamutsidwa kale kupita ku seva yatsopano ya main.php.net yoyikidwa kuyambira poyambira. Ma passwords onse omwe amagwiritsidwa ntchito kuti agwiritse ntchito php.net adakhazikitsidwanso ndipo njira yowasinthira idayambitsidwa kudzera mu fomu yapadera yobwezeretsa mawu achinsinsi. Zosungira za git.php.net ndi svn.php.net zimakhalabe zowerengedwa zokha (chitukuko chasunthidwa ku GitHub).

Pambuyo pakupezeka koyamba koyipa komwe adapanga kudzera muakaunti ya Rasmus Lerdorf, woyambitsa PHP, adaganiza kuti akaunti yake idabedwa ndipo Nikita Popov, m'modzi mwamadivelopa ofunikira a PHP, adagubuduza zosinthazo ndikuletsa ufulu wochitapo kanthu. akaunti yamavuto. Patapita nthawi, kuzindikira kunadza kuti kutsekereza sikunali kwanzeru, chifukwa popanda kutsimikizira zochita pogwiritsa ntchito siginecha ya digito, aliyense amene ali ndi mwayi wopeza php-src repository atha kusintha polowetsa dzina labodza.

Kenako, oukirawo anatumiza njiru kuchita m'malo Nikita mwiniwake. Pofufuza zipika za utumiki wa gitolite, womwe umagwiritsidwa ntchito pokonzekera mwayi wopita kumalo osungiramo zinthu, kuyesayesa kunapangidwa kuti mudziwe yemwe adapangadi kusintha. Ngakhale kuphatikizidwa kwa ma accounting onse omwe adachita, panalibe zolembedwa mu chipika pazosintha ziwiri zoyipa. Zinali zoonekeratu kuti panali kusagwirizana kwa zomangamanga, popeza mabizinesi adawonjezedwa mwachindunji, kudutsa kulumikizana kudzera pa gitolite.

Seva ya git.php.net idayimitsidwa nthawi yomweyo, ndipo malo oyamba adasamutsidwa ku GitHub. Mwachangu, zidayiwalika kuti kulowa m'malo osungiramo, kuwonjezera pa SSH pogwiritsa ntchito gitolite, panalinso chothandizira china chomwe chimakulolani kuti mutumize zochita kudzera pa HTTPS. Pankhaniyi, git-http-backend idagwiritsidwa ntchito polumikizana ndi Git, ndipo kutsimikizika kunachitika pogwiritsa ntchito seva ya Apache2 HTTP, yomwe idatsimikizira zidziwitso mwakupeza database yomwe ili mu DBMS pa seva ya master.php.net. Kulowa sikuloledwa ndi makiyi okha, komanso ndi mawu achinsinsi okhazikika. Kuwunika kwa zipika za seva ya http kunatsimikizira kuti kusintha koyipa kudawonjezedwa kudzera pa HTTPS.

Pophunzira zipikazo, zidawululidwa kuti owukirawo sanalumikizane nthawi yoyamba, koma poyamba adayesa kupeza dzina la akaunti, koma atazindikira, adalowa muyeso yoyamba, i.e. adadziwa mawu achinsinsi a Rasmus ndi Nikita pasadakhale, koma samadziwa zolemba zawo. Ngati owukirawo adatha kupeza DBMS, sizikudziwika chifukwa chake sanagwiritse ntchito nthawi yomweyo malowedwe olondola omwe adanenedwa pamenepo. Kusiyana kumeneku sikunapezebe kufotokozera kodalirika. Kuthyolako kwa master.php.net kumaonedwa kuti ndizochitika kwambiri, popeza seva iyi idagwiritsa ntchito code yakale kwambiri ndi OS yakale, yomwe inali isanasinthidwe kwa nthawi yayitali ndipo inali ndi zovuta zosasinthika.

Zochita zomwe zatengedwa zikuphatikizapo kubwezeretsanso malo a seva ya master.php.net ndi kusamutsidwa kwa malemba ku mtundu watsopano wa PHP 8. Khodi yogwira ntchito ndi DBMS yasinthidwa kuti igwiritse ntchito mafunso a parameterized omwe amasokoneza kulowetsa SQL code. Bcrypt algorithm imagwiritsidwa ntchito kusungira mawu achinsinsi mu nkhokwe (m'mbuyomu, mapasiwedi adasungidwa pogwiritsa ntchito hashi yodalirika ya MD5). Mawu achinsinsi omwe alipo amakonzedwanso ndipo mumalimbikitsidwa kukhazikitsa mawu achinsinsi kudzera mu fomu yobwezeretsa mawu achinsinsi. Popeza kuti mwayi wopita ku git.php.net ndi svn.php.net repositories kudzera pa HTTPS unali womangidwa ku MD5 hashes, adaganiza zosiya git.php.net ndi svn.php.net powerenga-pokha, komanso kusuntha zonse. otsala kwa iwo PECL zosungirako zowonjezera pa GitHub, zofanana ndi malo akuluakulu a PHP.

Source: opennet.ru

Kuwonjezera ndemanga