php.de

Zurück   php.de > php.de Intern > Wiki Diskussionsforum > Tutorials

Tutorials Hier findest Du Tutorials, welche nach und nach ein fertiges Script ergeben. Sehen, lernen & verstehen!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.01.2009, 21:22  
Benutzer
 
Registriert seit: 04.01.2009
Beiträge: 43
Deltachaos befindet sich auf einem aufstrebenden Ast
Standard HOWTO: ICQ Narichten versenden mit php (Benötigt root Zugang zu Linux Server)

Ich kann leider nichts ins Wiki schreiben.
Deswegen schreibe ich das hier rein:

Was brauchen wir?
  • root Zugang zu einem Linux root oder vServer
  • Das Proramm screen (Debian: apt-get install screen)
  • Den Shell ICQ Client climm (CLI-based Multi-Messenger) - genaueres zur Installation später
  • Das Programm Sudo - meistens mit vorinstalliert
  • Webserver der fähig ist ein PHP Script auszuführen

1. Installation von screen falls noch nötig
Die Installation von screen gestaltet sich unter fast allen Distribututionen sehr einfach da es meistens im jeweiligen Packetmaneger vorhanden ist.
unter Debian/Ubuntu und Deverate
Code:
apt-get install screen
(root Rechte)

2. Die Installation von climm ist eigentlich eben so einfach
auf der Hersteller Seite (CLI-based Multi-Messenger) gibt es schon vorkomprimierte Packete zum Download (climm - Herunterladen!)
unter Debian/Ubuntu und Deverate
Code:
cd ~
wget http://climm.org/binary/climm_0.6.3-0_i386.deb
dpkg -i climm_0.6.3-0_i386.deb
Benötigt root Rechte

3. Starten des Screen Termianls

um climm zu Konfigurieren starten wir es einfach unter dem Benutzer unter dem es laufen soll.
Da climm für unsere Zwecke aber in einem screen Terminal laufen muss starten wir gleich den screen Terminal. In unserem Beispiel unter dem Namen "icq-bot"

Zuerst gehen wir sicher das noch keine screen Terminals mit dem Namen icq-bot vorhanden ist. das prüfen wir mit
Code:
screen -ls
ist ein screen mit dem namen icq-bot vorhanden dann killen wir ihn mit:
Code:
kill <Hier die nummer die vor dem .icq-bot steht>
Wenn kein Screen Terminal mit dem Namen "icq-bot" vorhanden ist oder dieser gerade gekillt wurde dann können wir nun einen screen Terminal für unseren icq bot starten. das machen wir mit:
Code:
screen -S icq-bot
Sollte folgende Meldung erscheinen:
Code:
Cannot open your terminal '/dev/pts/0' - please check.
heißt das das ihr mit "su" zu dem Benutzer gewechselt habt (das dürft ihr NICHT)
also gleich mit dem Benutzer einloggen

wenn der Terminal Ordnungsgemäß gestartet ist werdet ihr nichts bemerken.

3. Konfigurieren von climm

Wir haben nun einen leeren screen Terminal vor uns

nur wenn ihr climm schon einmal gestartet hattet und es neu konfigurieren möchtet:
Code:
rm -r ~/.climm
Danach mit der Anleitung fortfahren

wir geben folgenden Befehl ein um climm zu starten
Code:
climm
Ihr werdet aufgefordert eine User ID einzugeben, gebt eure ICQ Nummer ein.
z.b.
Code:
User account ID: 455267192
nun werdet ihr aufgefordert ein Passwort einzugeben. WICHTIG: das Passwort erscheint nicht. Wird aber trozdem eingegeben
Code:
Password:
Ihr werdet euch nun wunder das ihr nochmal eine User ID eingeben sollt.
Lasst die Zeile leer und bestätigt sie einfach nur mit einem ENTER.

Das selbe macht ihr auch bei den nächsten Aufforderungen. Drückt so lange ENTER bis ihr in roter Schrifft ein "climm" seht.

Nun müssen wir nur noch den screen detachen das machen wir mit der Tastenkombination:
Code:
Strg + A
Code:
D
Ihr kommt nun zu eurem Terminal zurück und erhaltet die Meldung:
Code:
[detached]
Das war alles! War doch gar nicht so schwierig!

4. sudo einrichten

Nun müssen wir sudo konfigurieren

Dazu öffnen wir die Config von sudo mit einem beliebigen Editor als root. Bei mir Nano

Code:
nano /etc/sudoers
dort fügen wir folgenden Eintrag
Code:
%sudo ALL=NOPASSWD: ALL
hinzu.
Damit wird die Passwort abfrage für Benutzer in der Gruppe sudo aufgehoben.

Jetzt müssen wir den Benutzer der die PHP scripte ausführt zu dieser Gruppe hinzufügen.
Bei Ubuntu ist das in der Standartinstallation der Benutzer: www-data.
Unter welchem Benutzer ihr PHP scripts ausführt könnt ihr unter Umständen mit
PHP-Code:
<?php
phpinfo
();
?>
herausfinden.

Nun fügen wir dem Benutzer und dem Benutzer dem das, script Gehört der Gruppe "sudo" hinzu.
In meinem Beispiel die Benutzer
www-data
und
server

Code:
usermod -a -G sudo www-data
usermod -a -G sudo server
AB JETZT KÖNNEN www-data UND server BEFEHLE OHNE PASSWORTABFRAGE MIT sudo ALS ADMIN AUSFÜHREN!

5. Das Script einsetzten

Nun könnt ihr das Script einsetzen.
Ihr müsst nur noch die Variablen

PHP-Code:
$sv_user ""
$sv_screen "" 
ändern

PHP-Code:
<?php
$sv_user 
""       //Der benutzer unter dem der screen gestartet wurde und climm
$sv_screen ""     //Der name von dem screen im beispiel: icq-bot

function __Convert($string)
  {
  
$old = array("ä""ö""ü""Ä""Ö""Ü""ß");
  
$new = array("ae""oe""ue""Ae""Oe""Ue""sz");
  
$string str_replace($old$new$string);
  
$array str_split($string);
  foreach(
$array as $themp)
    {
    
$i 0;
    
$z "";
    
$null strlen(decoct(ord($themp)));
    while(
$i $null)
      {
      
$z .= 0;
      
$i++;
      }
    
$ausgabe .= "\\".$z.decoct(ord($themp));
    }
  return 
$ausgabe;
  }

function 
__ICQSendMessage($uin$msg)
  {
  global 
$sv_user$sv_screen;
  
$readytosend .= "msg\\040".$uin."\\015";
  foreach(
$msg as $themp)
    {
    
$readytosend .= __Convert($themp)."\\015";
    }
  
$readytosend .= ".\\015";
  
exec('sudo su ".$sv_user." -l -c "screen -S ".$sv_screen." -X eval \\"stuff '.$readytosend.'\\""');
  }

function 
__ICQSendUrl($uin$url)
  {
  global 
$sv_user$sv_screen;
  
$readytosend .= "url\\040".$uin."\\040".__Convert($url)."\\015";
  
exec('sudo su ".$sv_user." -l -c "screen -S ".$sv_screen." -X eval \\"stuff '.$readytosend.'\\""');
  }

function 
__ICQNewLogin()
  {
  global 
$sv_user$sv_screen;
  
exec('sudo su ".$sv_user." -l -c "screen -S ".$sv_screen." -X eval \\"stuff quit\\015\\""');
  
exec('sudo su ".$sv_user." -l -c "screen -S ".$sv_screen." -X eval \\"stuff climm\\015\\""');
  }

  
__ICQSendMessage(455894172, array("Naricht1""Naricht2"));
  
__ICQSendUrl(455894172"http://www.fos-clan.com/");
?>
nun könnt ihr die functionen benutzen
erklärt sich glaub ich von selber

Der Verfasser haftet nicht für Rechtschreibfehler

Geändert von Deltachaos (04.01.2009 um 21:50 Uhr).
Deltachaos ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.01.2009, 18:45  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Entweder meldest du dich für die Wikiautoren ([Erledigt] PHP-Wiki beitrag erstellen) oder es soll hierhin verrschoben werden.
PTC ist offline   Mit Zitat antworten
Alt 05.01.2009, 18:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
Ich kann leider nichts ins Wiki schreiben.
Sorry, aber, das ist auch gut so. Inhaltlich interessant aber wirklich lesen mag mans nicht. Hat irgendwas von wie erklär ich Mutti, wie sie mit Excel eine Tabelle erstellt (auf nem Schmierzettel am Frühstückstisch).


[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.01.2009, 22:47  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
AB JETZT KÖNNEN www-data UND server BEFEHLE OHNE PASSWORTABFRAGE MIT sudo ALS ADMIN AUSFÜHREN!
Wie sinnvoll es ist den Webserver das arbeiten unter Rootrechten und das auch noch ohne Passwortabfrage zu gestatten, ist auch fraglich.

Gemäß dem Falle das die Bulletin Board Software die auch noch installiert ist, oder das Clan CMS von einer RFI oder Remote Code Execution Lücke befallen sind, verwandelt sich der Server glaube ich recht schnell in eine Spamschleuder oder einen Zombie.

Ich würde auf jeden Fall davon abraten.
__________________
twitter.com/moveax1 || http://modxcms.com/ || http://ubuntuusers.de/

$live->free() OR die();
moveax1 ist offline   Mit Zitat antworten
Alt 02.02.2009, 19:32  
lutoma
Gast
 
Beiträge: n/a
Standard

Intressante Sache, nur schade dass ich schon seit geraumer Zeit kein ICQ mehr benutze. Würd ich auch keinem empfehlen.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
Mysql startet unter Debian nach Update nicht mehr namlit Server, Hosting und Workstations 4 05.08.2008 15:49
lamp klappt noch nicht nixdorf PHP Tipps 2006 14 16.10.2006 15:30
root server phpdummi Server, Hosting und Workstations 14 16.07.2006 15:19
Sql server auf root server starten? PHP Tipps 2006 1 18.01.2006 17:59
PHP mails gehen nicht mehr Server, Hosting und Workstations 23 29.10.2005 23:25
Mails mit PHP über einen SMTP Server versenden JeeZ PHP Tipps 2005-2 15 04.09.2005 18:54
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Linux Server Beitragsarchiv 5 17.07.2005 13:55
PHP1 Script freq.9 PHP Tipps 2005 15 27.04.2005 14:18
Ermitteln welche Scripte noch MySQL-Verbindung offen haben MrMarco PHP-Fortgeschrittene 40 05.04.2005 09:34
[Erledigt] Mit PHP Script auf einem Root Server per SSH einlogen PHP Tipps 2005 5 27.03.2005 19:24
[Erledigt] GD lib in PHP einbinden PHP-Fortgeschrittene 15 24.08.2004 17:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php howto, php icq, icq php, php icq bot, icq bot linux, http://www.php.de/tutorials/50318-howto-icq-narichten-versenden-mit-php-benoetigt-root-zugang-zu-linux-server.html, climm howto, php exec root, linux icq bot, php icq script, climm php, php exec als root, icq terminal, icq php script, php exec as root, narichten, icq bot, climm tutorial, icqbot curl, icq linux bot

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum