İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

Windowsu web arayüzüyle kontrol

illoarmad06.08.201229 cevap3.504 görüntüleme
#1
Şimdi arkadaşlar mesela web arayüzüyle php ile sunucuyu kontrol ediyoruz. Benim yapmak istediğim Bilgisayarın ip yi tarayıcıya girince bi ekran çıkacak. orada butonlar olacak. Windows üzerinde işlemler yapabileceğim. Program çalıştırmak, bilgisayarı kapatmak, dosya indirmek gibi. Bunu için PHP de kullanırım Python da, duruma göre başka dilde. Bunu yapmam için ne gibi şeyler önerirsiniz.
Cevaplar
#2
Add-on / plug-in yazmadan (varsa hazirini kullanmadan) olmaz. Normalde browserin disina cikilamaz. Birak yapmak istediklerini dosya okuyamazsin.
illoarmad Konuyu açan
#3
Amacım tarayıcı ile ağ içi bilgisayar yönetimi. Mesela bu işi yapmak istediğim bilgisayara apache kurdum. Dil olarak php kullanıyorum. exec komutuyla herhangi bir uygulamayı çalıştırmak istiyorum. Ama çalıştıramadım.
#4
Ca-lis-ti-ra-maz-sin!

Agi birak, localhostta bile yapamazsin.

Diyelim ki Apache/PHP ile harici program calistirabilmenin bir yolunu buldun,
belki... ama belki su ise yarar:

Apache servicein kullanicisini Administrator yaparsin,
calistirmak istedigin directorye de IUSR_... icin full yetki verirsin.

Bu cok tehlikeli.
illoarmad Konuyu açan
#5
Benim düşüncem şu oldu. Client ve server yazıp bu işi gerçekleştirebiliyoruz. Client yerine tarayıcı kullanmak istemiştim. Neyse yapacak bişey yok o zaman.
#6
Client, local user account uzerinde calisir. Yetkisi sinirliysa (administrators uyesi degilse mesela), o zaman da calismayabilir.

Dedigim gibi. En guvenli yol:

Add-on / plug-in yazmak
Desktopta calisan clientin portuna komut gondermek
Clientla da yapmak istedigimiz isleri yapmak

Baska yollarda surekli engelle karsilasirsin.

Add-on asamasi atlanabilir. Soyle:

Xyz portunu dinleyen client yazilir. Web sayfasindan komut verilince de clientin xyz portuna yonlendirilir.
illoarmad Konuyu açan
#7
Anladığım kadarıyla apache için add-on yazmam gerekiyor. php için mod_php, python için mod_wsgi olduğu gibi.
#9
Mod-PHP, Apache PHP modul demek. .php dosyasi istendiginde bu module gidiyor. Derlenip html olarak browsera gonderiliyor.

Boyle bir sey yazabilirsen olur. ".xyz" uzantili dosylar yazdigin module yonlendirilir. "Kapat.xyz" gelirse, kapatir mesela.

Burada da security problemi cikabilir ama digeri kadar genis yetki vermek yerine sadece module full yetki verilebilir.

Evet. Olabilirligi var bence.
#10
Eğer amacın sadece uzaktan kontrol ise LogMeIn yapıyor. Program yazmak için uğraşıyorsan yine de incele derim.
#12
Teamviewer tarzı bir program işinizi görmüyor mu?
#13
Aynısını kendime tasarlamayı düşünüyorum hemde cep telefonumdan fareyi yönetebilmek için.

tarayıcı ajax/jquery rahatça tasarlanır, sunucu tarafı ise sadece özgün komutları sunucudaki programa argüman olarak aktarır. :D

Bunu yapıcam, ikidir film izlerken ses birden yükseliyor, elimde akıllı telefon var (sözde, akıllı ya) kalkıp kısıyorum sesi pc'den. :D

yaparsam referans olur kardeşimize, ama algoritma yukarıdaki gibidir, hiç olmadı C++ ile soket programlama ile halledebilirsin bence. :D
#14
Vakt-i zamanında Windows kullanırken C# ile bir uygulama geliştirmiştim sistemin bilgilerini alıp konsola basıyordu. PHP ile de bir arayüz yapıp exec komutu ile bunu çalıştırıp sistemin bilgilerini alabiliyordum. Açıkçası pratikte exec komutu ile yaptıramayacağınız şey yok ama bir çok sunucuda exec komutu sunucu içerisinde kapalı gelir. Bunu güvenlik ayarlarından açmanız gerekir. Açtıktan sonra atıyorum PHP'de $_GET üzernden yakaladığın bir komutu direk sistem üzerinde çalıştırabilirsin. Bu tamamen senin işi nasıl yaptığına bağlı. Konsol üzerinden işlerini halledebiliyorsan bunun için PHP'de bir arayüz yazabilirsin. Zor bir şey değil açıkçası...
#15
Exec ile yaparsın ben daha önce ping ve bir kaç komut çalıştırdım. exec ile zaten komut satırında herşeyi yaparsın. Ben iis ile kullandım ve iis security den administratore bağladım. Çatır çatır da çalışabildi. Apache konusunda zayıfım ama servisi kullanan user i administrator ile değiştirirsen olur diye düşünüyorum.
#16
Bazı siteler sen hiç komut vermeden bilgisayarında program çalıştırabiliyor örneğin Samsung Apps sitesine girdiğin zaman bilgisayarındaki Kies isimli programı çalıştırıyor. Bir incele böyle birşey var yani.
#17
Samed Tarık dedi: ↑
Bazı siteler sen hiç komut vermeden bilgisayarında program çalıştırabiliyor örneğin Samsung Apps sitesine girdiğin zaman bilgisayarındaki Kies isimli programı çalıştırıyor. Bir incele böyle birşey var yani.
Öyle bir şey olabilmesi için sistemde belirli yazılımlar üzerinden belirli protokoller yazılıma atanmalı ki browser öyle bir istek gerçekleştirdiğinde işletim sistem bu protokol isteğini sistemdeki programa yöneltsin. Kısacası o olay kies'in yeteneği. Web sitesi sadece protokol çağrısı yapıyor o kadar...
#18
illoarmad dedi: ↑
Şimdi arkadaşlar mesela web arayüzüyle php ile sunucuyu kontrol ediyoruz. Benim yapmak istediğim Bilgisayarın ip yi tarayıcıya girince bi ekran çıkacak. orada butonlar olacak. Windows üzerinde işlemler yapabileceğim. Program çalıştırmak, bilgisayarı kapatmak, dosya indirmek gibi. Bunu için PHP de kullanırım Python da, duruma göre başka dilde. Bunu yapmam için ne gibi şeyler önerirsiniz.
sdnSaltClass.recv('LeaveNhA')->KonuyuHortlat("!!!");

Hehehe, bu dediğini dün yaptım, tabi sadece basit klavye girişi yapıyorum, biraz yoğunum, hatta bi hayli, akşama video çekip koyucam buraya, eğer tamamen bunu kast ediyorsan geliştirmende yardımcı olabilirim. ;D
illoarmad Konuyu açan
#19
LeaveNhA dedi: ↑
sdnSaltClass.recv('LeaveNhA')->KonuyuHortlat("!!!");

Hehehe, bu dediğini dün yaptım, tabi sadece basit klavye girişi yapıyorum, biraz yoğunum, hatta bi hayli, akşama video çekip koyucam buraya, eğer tamamen bunu kast ediyorsan geliştirmende yardımcı olabilirim. ;D
Merakla ve sabırsızlıkla bekliyorum. :))
illoarmad Konuyu açan
#22
Teşekkürler. Yani yapılması gereken sunucu tarafındaki programa parametre yollamak, bu yolla herşey yaptırılabilir. Tabi dikkat edilmezse güvenlik sorunları çıkabilir, ama dikkat edilirse sorunlar minimuma indirilebilir. Sonuçta parametre yolladığımız programla kısıtlıyoruz yapılacakları. Hatta başta şifre istersek, şifre girişlerde de bruteforce için önlem alırsak(bekletme, captcha girme gibi) daha güvenli olur. Şifre doğruysa program paramatre verilerek çalıştırılır. Programda açık olmaması için dikkat etmek gerek. Programın birden fazla çalışmasını da engellemek, cpu yu yormaması açısından ve de karışıklık çıkmaması açısından güzel olur, bla bla bla....
#23
illoarmad dedi: ↑
Teşekkürler. Yani yapılması gereken sunucu tarafındaki programa parametre yollamak, bu yolla herşey yaptırılabilir. Tabi dikkat edilmezse güvenlik sorunları çıkabilir, ama dikkat edilirse sorunlar minimuma indirilebilir. Sonuçta parametre yolladığımız programla kısıtlıyoruz yapılacakları. Hatta başta şifre istersek, şifre girişlerde de bruteforce için önlem alırsak(bekletme, captcha girme gibi) daha güvenli olur. Şifre doğruysa program paramatre verilerek çalıştırılır. Programda açık olmaması için dikkat etmek gerek. Programın birden fazla çalışmasını da engellemek, cpu yu yormaması açısından ve de karışıklık çıkmaması açısından güzel olur, bla bla bla....
e madem bu kadar tekniğe hakimsin, beni neden uğraştırdın be insafsız. :D

bende sandım ki bi bilgin yok ama öğreniyorsun geliştiriyorsun kendini, küstüm oynamıyorum ben. :D
illoarmad Konuyu açan
#24
LeaveNhA dedi: ↑
e madem bu kadar tekniğe hakimsin, beni neden uğraştırdın be insafsız. :D

bende sandım ki bi bilgin yok ama öğreniyorsun geliştiriyorsun kendini, küstüm oynamıyorum ben. :D
Yoo yaptıkların, anlattıların işime yaradı. Daha geniş düşünmemi sağladı mesela. Diğer arkadaşların düşünceleriyle vazgeçmiştim. Güvenliğin şu haliyle de sağlanabileceğini düşünmemi sağladın. En önemlisi ben bütün işleri parça parça yaptıracaktım, tek bir programa parametre yollayarak bütün işlerin yaptırılmasının daha uygun olduğunu anladım böylece. :)
#25
ya güvenliği sunucuda da programlarsın o kadar sıkıntı mı ?

php ile oturum kontrolünü biraz araştır, oturumu açan giriş yapan insanlar görebilsin sadece arayüzü...

bu da sdn de ilk video'um, arkası gelir umarım. :D
#26
illoarmad dedi: ↑
Yoo yaptıkların, anlattıların işime yaradı. Daha geniş düşünmemi sağladı mesela. Diğer arkadaşların düşünceleriyle vazgeçmiştim. Güvenliğin şu haliyle de sağlanabileceğini düşünmemi sağladın. En önemlisi ben bütün işleri parça parça yaptıracaktım, tek bir programa parametre yollayarak bütün işlerin yaptırılmasının daha uygun olduğunu anladım böylece. :)
Biz de farklı bir şey söylemedik zaten :) Sadece yapılabilecekleri görmen sanırım bakış açını değiştirmiş :) Daha bir çok kombinasyonla bir sürü şey yapabilirsin. Ajax teknolojilerini kullanarak programdan gelecek yanıtları ekrana rapor olarak döktürebilirsin. Tabi exec'in yaratabileceği güvenlik açıkları da olabilir. Mesela sistem komutu göndermen durumunda parametrelerin arasına bir başka komut koyup sisteme zarar verilebilir. Bir nevi SQL Injection yöntemleri ile 3 aşağı 5 yukarı aynı risklere sahip. Girilen parametreleri kontrol edip gerekli karakterleri değiştirmek güvenlik için iyi olacaktır.
LeaveNhA eline sağlık uğramışsın bayağı :) Bu arada Sublime Text 2 kullanman gözümden kaçmadı :D
illoarmad Konuyu açan
#27
cgrszone dedi: ↑
Biz de farklı bir şey söylemedik zaten :) Sadece yapılabilecekleri görmen sanırım bakış açını değiştirmiş :) Daha bir çok kombinasyonla bir sürü şey yapabilirsin. Ajax teknolojilerini kullanarak programdan gelecek yanıtları ekrana rapor olarak döktürebilirsin. Tabi exec'in yaratabileceği güvenlik açıkları da olabilir. Mesela sistem komutu göndermen durumunda parametrelerin arasına bir başka komut koyup sisteme zarar verilebilir. Bir nevi SQL Injection yöntemleri ile 3 aşağı 5 yukarı aynı risklere sahip. Girilen parametreleri kontrol edip gerekli karakterleri değiştirmek güvenlik için iyi olacaktır.
@LeaveNhA eline sağlık uğramışsın bayağı :) Bu arada Sublime Text 2 kullanman gözümden kaçmadı :D
Dediğin gibi yani, sonuçta hiç kimse sql sorgulaması yapmayın demiyor, sql sorgulaması sırasında önlem alıyoruz. Benim amacım kontrol için ayrı ayrı program yazmamaktı, android için ayrı, windows için ayrı linux için ayrı gibi.

Tekrardan güvenliği de şöyle düşünelim. Windows için "araci.exe -ekrangoruntusu 800x600" "araci.exe -kapat 5sn" burada çıkacak sorunları öngörmek gerek tabi, ondan sonrası da sorun değil". En temelde bruteforce için kullanılan yollardan captcha ve bekletme kullanmakta yardımcı olur.
#28
cgrszone; teşekkürler üstadım, aslında uğraşmak denmez ona, sadece hani yorumları okumak ve babamın iphone'undan video'yu bilgisayara atmak ha birde youtube'a upload etmek zor oldu o kadar. :D

geri kalanı üç beş satır niteliksiz kod zaten, ayrıca sublime text ayrı bir derya, halen çözme aşamasındayım, gerçekten mükemmel bi program, tasarımcısına da burdan tekrar tekrar teşekkür ediyorum. :D

bu video banada bişeyler kattı, mesela neymiş, iphone denen cihaz tam bir kullanıcı düşmanıymış, kendi dünyası var gibi davranıyormuş.
easyphp adında ki sezgisel mesajdan ziyade bağzen "hard" olabiliyormuş, Code::Block derleyicisi gerçekten bağzen işin b*kunu çıkarabiliyormuş, jquery'de hemen hemen her zamanki gibi, bir noktanın hesabını yapabiliyormuş. :D

uyku sersemiyim, yazdım bitirdim, ya sınıf seçicisi kullanıcam yazıyorum eklemiyor, dedim senin gibi framework'ü ben.... :D
bi baktım "." yok. :D

neyse öyle böyle 15 dakikalık sinirli bi süreçle hallettim, dediğim gibi programın yada sistemin geliştirme ve tasarım sürecinde sizinleyim, C++ biliyorum, yardımım dokunur... ;D
illoarmad dedi: ↑
Dediğin gibi yani, sonuçta hiç kimse sql sorgulaması yapmayın demiyor, sql sorgulaması sırasında önlem alıyoruz. Benim amacım kontrol için ayrı ayrı program yazmamaktı, android için ayrı, windows için ayrı linux için ayrı gibi.

Tekrardan güvenliği de şöyle düşünelim. Windows için "araci.exe -ekrangoruntusu 800x600" "araci.exe -kapat 5sn" burada çıkacak sorunları öngörmek gerek tabi, ondan sonrası da sorun değil". En temelde bruteforce için kullanılan yollardan captcha ve bekletme kullanmakta yardımcı olur.
bruteforce güzel yöntem ama kriptoloji tutkunu biri olarak daha iyi yöntemler var, özelliklede hatası yapısından kaynaklanan böyle bir sistem için... :D
illoarmad Konuyu açan
#29
Evet, bunu yaptım. Malzemeler, Python, CherryPy modülü, Image modülü, ImageGrap modülü. Genel ağa(internete açmak için) port yönlendirmek yeterli. Güvenlik önlemleri almak işten değil. Arayüzde şifreyi girince o anki ekran görüntüsü web arayüzüyle karşımıza çıkıyor.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.