Ritorna alla Home Page  Aggiungi LinuxGuide.it ai Preferiti  
Documentazione Linux, HowTo, Guide, Configurazioni, Tutorial, FaQ, News, Downloads e tanto altro ancora... LinuxGuide.it
""
 "" Home   "" Documentazione e Tutorial   "" Linux Commands Line   "" Recensioni   "" Download Software    
""

Home Page      Chiedi supporto al forum    

Feed RSS piu veloci sul tuo sito! 
martedì, febbraio 5, 2008, 10:47 AM - Scripts
team
Descrizione
Questo script permette di effettuare il download di una pagina web contenente Feed RSS remoti, ed eseguirne successivamente l'upload degli stessi titoli sul proprio sito web.

Scenario di applicazione
Immaginiamo per esempio, come scenario di applicazione per questo script, un portale web "www.esempio.com" che desidera acquisire i feed rss del "Blog di LinuxGuide.it" e pubblicarli all'interno di una pagina web dello stesso sito.

Perchè fare questo?
Semplicemente per non voler effettuare una query al feed rss di LinuxGuide.it ogni qualvolta un utente visualizza una pagina sul sito esempio.com che richiama il feed rss remoto. Il vantaggio principale è che migliorerà la velocità di caricamento delle pagine(che si linkano al feed rss) in quanto i titoli rss sono stati scaricati dal sito LinuxGuide.it e caricati via ftp sul portale esempio.com adesso linkati sul percorso locale.

rss_dwl.sh - Shell script da caricare su una linux box
#-- rss_dwl.sh - INIZIO SCRIPT Shell --
#!/bin/bash
# Nome script rss_dwl.sh
# Scritto da LinuxGuide.it
# LinuxGuide.it non si assume alcuna responsabilita' e in nessun
# caso può esserne attribuita per eventuali danni fisici, morali o
# di altro tipo causati dall'utilizzo dei contenuti, dai comandi,
# dalle configurazioni e da qualsiasi altro contenuto pubblicato
# su www.linuxguide.it o copie
# degli stessi contenuti distribuiti da terzi.
#
cd /tmp
mkdir /tmp/cache_news
cd /tmp/cachenews
wget www.linuxguide.it/get_rss.php -O blog_news.htm
lftp -u 'UserName@esempio.com,PassWord' ftp.esempio.com -e "put blog_news.htm;exit"
cd ..
rm -rf cache_news
cd
exit 0

#-- FINE SCRIPT Shell rss_dwl.sh --

get_rss.php - Script PHP da caricare sul vostro sito
Questo script è in grado di leggere feed xml - esempio:
// $filename="http://www.esempio.com/rss.xml";

#-- INIZIO SCRIPT PHP per Acquisizione dei Feed remoti --#
<?
$filename="http://www.linuxguide.it/blogit/rss.php";
if( ! ($fp = fopen( "$filename" , "r" )) ){echo "Impossibile aprire il file xml!";}
$item_counter = 0;
$item_data = array();
$xml_current_tag_state = '';
function startElementHandler( $parser, $element_name, $element_attribs ){
global $item_counter;
global $item_data;
global $xml_current_tag_state;
$xml_current_tag_state = $element_name;
}
function endElementHandler( $parser, $element_name ){
global $item_counter;
global $item_data;
global $xml_current_tag_state;
$xml_current_tag_state = '';
if( $element_name == "ITEM" ) {
$item_counter++;
}
}
function characterDataHandler( $parser , $data ){
global $item_counter;
global $item_data;
global $xml_current_tag_state;
if( $xml_current_tag_state == '' ) {
return;
}
if( $xml_current_tag_state == "TITLE" ) {
$item_data[$item_counter]["title"] = $data;
}
if( $xml_current_tag_state == "LINK" ) {
$item_data[$item_counter]["link"] = $data;
}
}
if( !($xml_parser = xml_parser_create()) ){
die("Impossibile creare l' XML parser!");
}

xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($xml_parser, "characterDataHandler");

while( $data = fread($fp, 4096) ){
if( !xml_parse($xml_parser, $data, feof($fp)) ) {
break; // esce dal loop quando finisce
}
}
xml_parser_free($xml_parser);

for( $i=4 ; $i < $item_counter ; ++$i ){
echo "<BR><li><a href='".$item_data[$i]["link"]."'>".$item_data[
$i]["title"]."</a></li><br>";
}
?>

#-- FINE SCRIPT PHP per Acquisizione dei Feed remoti --#


Se volete potete programmare l'esecuzione dello script ogni ora
--CRONTAB--
00 */1 * * * /usr/local/bin/rss_dwl.sh
--CRONTAB--


Sostituite gli url di esempio con quelli da voi desiderati...
..se poi lo ritenete utile potete acquisire i feed rss di LinuxGuide.it e pubblicarli sul vostro sito
:-)




Segnala questo documento su:
Segnalo OkNotizie Digg Del.icio.us Mr. Wong Google Yahoo Furl Technorati Newsvine

1 commento ( 11252 visite )   |  permalink   |   ( 3 / 1416 )

Bloccare gli attacchi SSH con uno script 
giovedì, gennaio 31, 2008, 01:25 AM - Scripts, Security
team
Descrizione
Grazie a questo piccolo script in shell, possiamo bloccare eventuali attacchi ssh provenienti da internet verso la nostra linuxbox.
Questo script controlla i logs sul file "/var/log/auth.log" ogni 60 secondi, se un utente prova quindi ad effettuare un login sulla macchina servendosi di una username inesistente, sicuramente si tratta di un brute-force attack, per cui lo script rilevando il tentativo login fallito aggiungerà l'ip address dell'host remoto all'interno de file "/etc/hosts.deny" gestito dal tcp wrapper che provvederà a bloccare qualsiasi comunicazione da e verso quell'host.

Progettato per:
Fedora/RedHat/CentOS

Testato su:
Fedora

INIZIO SCRIPT -->
#_______________________________________________________#
#!/bin/sh
#Script by LinuxGuide.it
#*AGREEMENT, INCLUDING, IN PARTICULAR THE LIMITATIONS ON:
#WARRANTY,IF THISY AND LIABILITY. YOU AGREE THAT THIS AGREEMENT IS ENFORCEABLE LIKE ANY WRITTEN NEGOTIATED AGREEMENT SIGNED BY YOU. IF YOU DO NOT AGREE, DO NOT USE THIS SCRIPT
#*WARRANTY
# NO WARRANTY IS OFFERED WITH THIS SOFTWARE.
#*LIMITATION OF LIABILITY.
#IN NO EVENT WILL THE DEVELOPERS OF THIS SOFTWARE BE LIABLE TO YOU FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT, INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS.
while :
do
sleep 60
varcat=`cat /var/log/auth.log |grep Illegal | awk '{print $10}' |head -1 | awk '{split($0,Array,":"); print Array[4]}'`
vardate=`date`
if [ -z $varcat ]
then
# "nothing to do..."
echo "" > /var/spool/mail/root
echo "" > /var/mail/root
else
# "Block host"
echo "sshd: $varcat" >> /etc/hosts.deny
sleep 2
cat /var/log/auth.log |grep Illegal > /var/log/auth.temp
sleep 2
# echo send report via email - don't miss to change "your_account@example.com"
mail your_account@example.com -s "SSH Illegal user $vardate" < /var/log/auth.temp
sleep 1
cat /var/log/auth.temp >> /var/log/auth-backup.log
sleep 1
echo "" > /var/log/auth.log
sleep 1
rm /var/log/auth.temp
fi
done

#_______________________________________________________#
FINE SCRIPT <--

Autorun
Per avviare lo script al boot della macchina:
1)Copia & Incolla lo script in file chiamato ssh-attack.sh dentro "/usr/local/bin"
2)# chmod 500 /usr/local/bin/ssh-attack.sh
3)infine aggiungi la sottostante riga al file "/etc/rc.local:
# sh /usr/local/bin/ssh-attack.sh



Segnala questo documento su:
Segnalo OkNotizie Digg Del.icio.us Mr. Wong Google Yahoo Furl Technorati Newsvine

commenta ( 2326 visite )   |  permalink   |   ( 3 / 1422 )


| 1 | 2 | 3 | 4 | 5 | 6 |