-
-
Save ecylmz/923395 to your computer and use it in GitHub Desktop.
<?php | |
// hata raporlamayi kapa. | |
error_reporting(0); | |
try { | |
// json verisini decode et. | |
$payload = json_decode($_REQUEST['payload']); | |
} | |
catch(Exception $e) { | |
exit; | |
} | |
// http://help.github.com/post-receive-hooks/ bu adresteki format incelenip, asagidaki degisken tanimlanmistir. | |
$message = $payload -> commits[0] -> message; | |
$search = "[tetikle]"; | |
// komit mesajinda [tetikle] kismi varsa betigi calistir. | |
if (strstr($message, $search)) { | |
// komut çalıştırılır. | |
$command = './betik.sh'; | |
exec($command); | |
} | |
?> |
tamamdır hocam.
@roktas C föylerini görmeyin :)
o zaman o föyü de değiştirecek, gerekirse yeniden yazacağız... ayrıca föy nerede? basitçe markdown ile yazılmış halde bir github deposunda bulmalıyız bunu. nurettin hocanıza bu konuda bir ping atalım @seyyah
bakın bazı şeyler standardize edilmeyince başta nasıl başlamışsa öyle gidiyor. üstelik etkisi öyle 3-5 kişi ile sınırlı olmuyor, her dönem ~50 kişi bu virüsü kapıyor. :-)
@ecylmz yazdığın koda geri dönelim. bu kodda temel sıkıntı sudo
kullanılması. bunu asla ama asla yapma :-) şimdi bak bu php kodu sunucuda www-data
kullanıcısı/grubu olarak çalışıyor. yapman gereken betiğin bu izinlerle çalışmasını sağlamak. örneğin betik.sh
'ın çalışacağı dizinini şöyle ayarlayabilirsin:
chgrp -R www-data <dizin>
chmod g+w www-data <dizin>
@roktas hocam dediğiniz değişiklikleri yaptım. Aslında dediklerinizi baştan beri yapmıştım da nereden aklıma geldisye bu sudo bunu da kullandım.düşünmeden yaptığım bi değişiklikti bu :/
hocam bu python föyleri yeniden yazılsın sadece kodlar değil eğer bu değişiklikler esnasından markdown'a taşımassak yine uzayacak iş yine uzayacak arkasından C
bu konuyu listeye taşıyorum
çok sık kodlama stili değiştiriyorsunuz (veya hep bunu mu kullanıyordunuz bilmiyorum) C benzeri diller için genel olarak BSD KNF stilini takip edin. yani:
php için ufak bir değişiklik:
kullanın (yani
else
ayrı bir satırda). benzer durumtry/catch
için de geçerli...19/x dokümanlarında bu stil konuları için man dosyaları eklemeye vakit bulamadım ama kafanıza göre bir stilde yazmadan önce bir şekilde benimle temasa geçin ;-)