python – DijitalTurk https://dijitalturk.com/veysel Dijital Paylaşımlar Mon, 12 Dec 2022 10:52:35 +0000 tr hourly 1 Telegram kanaldan yazılanları gruba yönlendirme https://dijitalturk.com/veysel/telegram-kanaldan-yazilanlari-gruba-yonlendirme/ https://dijitalturk.com/veysel/telegram-kanaldan-yazilanlari-gruba-yonlendirme/#respond Sun, 11 Dec 2022 10:19:12 +0000 https://dijitalturk.com/veysel/?p=1908 Telegramda bir kanala yada gruba gelen mesajları başka bir gruba yönlendirmek için aşağıdaki adımları uygulayabilirsiniz. Öncelikle mesajları yönlendireceğiniz telegram hesabı

The post Telegram kanaldan yazılanları gruba yönlendirme appeared first on DijitalTurk.

]]>
Telegramda bir kanala yada gruba gelen mesajları başka bir gruba yönlendirmek için aşağıdaki adımları uygulayabilirsiniz.

Öncelikle mesajları yönlendireceğiniz telegram hesabı için API kodlarını (api_id,api_hash ) buradan almanız gerekiyor.

Sonra Buradan  channel_id.py ve  forward.py dosyalarını indirebilir yada içeriğini kendi bilgisayarınızda kopyala yapıştır ile oluşturabilirsiniz.

Birazcık editlenmiş hali aşağıdadır.

channel_id.py (bu script ile bot olarak kullanacağımız hesabın üyesi olduğu kanalların chat_id sini almamız gerekiyor.)

from telethon import TelegramClient, events
import asyncio
api_id = 'xxxx'
api_hash = 'xxxxx'
client = TelegramClient('none', api_id, api_hash)
@client.on(events.NewMessage)
async def handler(event):
        async for dialog in client.iter_dialogs():
          if dialog.is_channel:
           print(f'{dialog.id}:{dialog.title}')

client.start()
client.run_until_disconnected()

forward.py Mesaj yönlendirmesini yapacak olan script:

import asyncio

from telethon import TelegramClient, events

#-100117365xxxx:A KANAL
#-100164216xxxx:B GRUP
#-100126874xxxx:C GRUP

#Bu kanala mesaj gelince
reciedID = -100117365xxxx
reciedTitle = "A KANALI"

#Bu gruba yaz
sendGrp = -100164216xxxx
sendGrpTitle = 'B Grubu'

api_id = 'xxxx'
api_hash = 'xxxxx'
client = TelegramClient('none', api_id, api_hash)
@client.on(events.NewMessage)
async def handler(event):
    chat = await event.get_chat()
    chat_id = event.chat_id
    print(chat_id)

    if chat_id == reciedID : 
        print(reciedTitle + ' mesaj var')
        await client.send_message(sendGrp, event.raw_text)
        print(sendGrpTitle + ' yonlendirilecek')
       

client.start()
client.run_until_disconnected()

 

Son olarak da yukarıdaki kodların çalışması için bilgisayarınıza python kütüphanelerini indirmeniz / güncellemeniz gerekiyor.

sudo apt update
sudo apt install python3-pip

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade telethon

daha sonra channel_id.py dosyasının içine api_id ve api_hash değerlerini yazıp botun üyesi olduğu grup ve kanalların chat_id sini almamız gerekiyor. Sonrasında forward.py dosyasını ihtiyacımıza göre chat_id kısımlarını özelleştirerek mesaj yönlendirmesini gerçekleştirebiliriz.

Bonus:

#Linux de screen komutları:
#Yeni session:
screen -S session_name

#Kapatma:
screen -X -S session_id.session_name quit

#Oturuma bağlanma:
screen -a -r session_id.session_name

#mevcut screen den ayrılmak
CTRL + a + d

 

The post Telegram kanaldan yazılanları gruba yönlendirme appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/telegram-kanaldan-yazilanlari-gruba-yonlendirme/feed/ 0
Python ile dosya kontrolü scripti https://dijitalturk.com/veysel/python-ile-dosya-kontrolu-scripti/ https://dijitalturk.com/veysel/python-ile-dosya-kontrolu-scripti/#respond Fri, 19 Mar 2021 14:46:02 +0000 http://dijitalturk.com/veysel/?p=1492 Web sitenize dosya yükleme işlemi yaptırıyorsunuz diyelim. Tüm kontrolleri de sağladınız ama gözden kaçırdığınız bir güvenlik açığı oldu ve sitenize

The post Python ile dosya kontrolü scripti appeared first on DijitalTurk.

]]>
Web sitenize dosya yükleme işlemi yaptırıyorsunuz diyelim. Tüm kontrolleri de sağladınız ama gözden kaçırdığınız bir güvenlik açığı oldu ve sitenize istenmeyen bir dosya yüklendi bunu nasıl yakalarsınız?

Bunun gibi can sıkıcı bir durumla karşılaştığınızda aşağıda örneğini paylaştığım Python Script’i ile güvenliğinizi arttırabilirsiniz.

Kodu paylaşmadan önce çalışma prensibini anlatayım.

Kod çalıştığı anda bulunduğu klasöre 3 adet dosya yaratacaktır.

"dosya_beyazliste.txt" 
Tarama esnasında görmezden gelinecek dosya isimleri Ör: index.php, upload.php
"uzanti_beyazliste.txt"
Tarama esnasında görmezden gelinecek dosya uzantıları Ör: png,jpg,gif
"log.txt"
Tarama sonucunun çıktıları.

Script içerisinde de bazı parametreleri ayarlamanız gerekecek aşağıda onları anlatacağım.

yol = "./dosyaKontrol/"

Scriptin çalışacağı klasör, eğer bulunduğu dizinde çalıştırmak isterseniz “./” olarak ayarlayabilirsiniz.

karantinaKlasoru = "../k/" #scriptin çalıştığı klasörde olmaması önerilir. en azından bir üst klasörde olmalı.

Tehdit olarak bulunan dosyaların taşınacağı karantina klasörü.

wlFileName = "dosya_beyazliste.txt"
wlExFileName = "uzanti_beyazliste.txt"
logFileName = "log.txt"

Bunları zaten yukarıda anlattım 🙂

karantinaGonder = 'h' #[ e | h ]

Tehdit olarak bulunan dosyaları karantina klasörü olarak belirlediğiniz klasöre taşınması onayı. Scripti ilk çalıştırdığınızda “h” olarak kalmasında fayda var. Sonrasında log.txt ye bakıp hariç tutacağınız uzantı ve “dosyaları dosya_beyazliste.txt” ve “uzanti_beyazliste.txt” ye ekledikten sonra “e” olarak işaretleyin. (unutmayın küçük harf e veya h)

 

Bu arada Python Script’i yükledikten sonra klasör yetkilerinin “0744” de olması gerektiğini de hatırlatmak isterim. Bu scripti ister bir PHP upload işlemi sonrasına yada bir ChronJob işlemine bağlayarak periodik olarak yapabilirsiniz.

Ekran görüntülerini de paylaşıyorum. İlk ekran görüntüsü Python script’in PHP içerisinden çağırılmasının çıktısıdır.

Python script çalıştıktan sonra log.txt çıktısı.

Script dosyasını yüklediğiniz klasörün durumu

Tehdit olarak algılanan dosyanın karantinaya taşındığı durum.

“dosya_beyazliste.txt” ve  “uzanti_beyazliste.txt” nizin yaklaşık olarak olması gereken içeriği

Bir yerlerde paylaşırsanız ya da Python scripti kullanırsanız yada sırf emeğe saygı için kaynak belirtmenizi rica ederim 🙂

DijitalTurk.com | File Control

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import shutil
from datetime import datetime

#DijitalTurk.com

now = datetime.now()
 #print("now =", now)
# dd/mm/YY H:M:S
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
#print("date and time =", dt_string)



#yol = "./"
yol = "./dosyaKontrol/"
karantinaKlasoru = "../k/" #scriptin çalıştığı klasörde olmaması önerilir. en azından bir üst klasörde olmalı.
wlFileName = "dosya_beyazliste.txt"
wlExFileName = "uzanti_beyazliste.txt"
logFileName = "log.txt"

karantinaGonder = 'h' #[ e | h ]

warnMsg = ' [KONTROL] '
warnCreateFile = ' dosyası oluşturuldu [SİSTEM] '
myNameIs = 'DosyaKontrolV2.py'

karantinaYol = yol+karantinaKlasoru
whiteListFile = yol+wlFileName
whiteListExtention = yol+wlExFileName
logFile = yol+logFileName
tarananDosyaSayisi = 0

logList = []
fileNameWhiteList = []
fileExtentionWhiteList = []
allList = os.listdir(yol)

#print("**** allList ****")
#print(allList)
print("\n -------- START --------- \n")

if not os.path.isdir(karantinaYol):
    os.mkdir(karantinaYol)



if os.path.isfile(whiteListExtention):
    f1 = open(whiteListExtention, "r")
    fileExtentionWhiteList = f1.readlines()
    f1.close()
else:
    print(whiteListExtention + warnCreateFile)
    f1 = open(whiteListExtention, "w")

if os.path.isfile(whiteListFile):
    f2 = open(whiteListFile, "r")
    fileNameWhiteList = f2.readlines()
    f2.close()
else:
    print(whiteListFile + warnCreateFile)
    f2 = open(whiteListFile, "w")

fileNameWhiteList.append(whiteListExtention)
fileNameWhiteList.append(whiteListFile)
fileNameWhiteList.append(myNameIs)
fileNameWhiteList.append(wlFileName)
fileNameWhiteList.append(wlExFileName)
fileNameWhiteList.append(logFileName)

new_fileNameWhiteList = [s.replace('\r\n', '') for s in fileNameWhiteList]
new_fileExtentionWhiteList = [s.replace('\r\n', '') for s in fileExtentionWhiteList]

print("\n **** Dikkate alınmayan dosya ve uzantılar**** \n")
print(new_fileExtentionWhiteList)
print(new_fileNameWhiteList)
print("\n ----------------- \n")


def isDeleteFile(root,fileName):
    if fileName.split('.')[-1].lower() not in new_fileExtentionWhiteList:
              if fileName not in new_fileNameWhiteList:
                logList.append( warnMsg + root + fileName)
                print( warnMsg  + root  + fileName)
                if karantinaGonder == 'e':
                    shutil.move(root + fileName, karantinaYol + fileName + "_sec")

for root, dirs, file in os.walk(yol):
      for fileName in file:
        tarananDosyaSayisi = tarananDosyaSayisi+1
        isDeleteFile(root , fileName)

forLog = open(logFile,"w")#KONTROL ET
#forLog.write("Now the file has more content!")
#print(logList)
forLog.write('\n Zaman: ' + dt_string + ' \n  Toplam taranan dosya sayısı: ' + str( tarananDosyaSayisi ) + ' \n Kontrol edilmesi gereken dosya sayısı: ' +  str( len(logList) )+ '\n')
for l in logList:
    forLog.write(l + '\n')
    #forLog.write(" ".join(l) + "\n")
    #print(l)
forLog.close()


print( '\n Zaman: ' + dt_string + ' Toplam taranan dosya sayısı: ' + str( tarananDosyaSayisi ) + ' Kontrol edilmesi gereken dosya sayısı: ' +  str( len(logList) ) )

 

The post Python ile dosya kontrolü scripti appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/python-ile-dosya-kontrolu-scripti/feed/ 0
PHP script ile Python çağırma. https://dijitalturk.com/veysel/php-script-ile-python-cagirma/ https://dijitalturk.com/veysel/php-script-ile-python-cagirma/#respond Fri, 19 Mar 2021 12:10:13 +0000 http://dijitalturk.com/veysel/?p=1490 PHP script ile Python çağırmak için aşağıdaki minik kod satırını kullanabilirsiniz. Yalnız dikkat edilmesi gereken nokta Python scripti içerisinde kütüphane

The post PHP script ile Python çağırma. appeared first on DijitalTurk.

]]>
PHP script ile Python çağırmak için aşağıdaki minik kod satırını kullanabilirsiniz. Yalnız dikkat edilmesi gereken nokta Python scripti içerisinde kütüphane yolunu sunucunuza göre düzenlemiş olmanızdır.

PHP Script içeriği

<?php
$message = exec("./p.py 2>&1");
print_r($message);
?>

Python Script içeriği

#!/usr/bin/python
print("Python Executed***")

 

 

 

The post PHP script ile Python çağırma. appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/php-script-ile-python-cagirma/feed/ 0