-
Compteur de contenus
726 -
Inscrit(e) le
-
Dernière visite
Messages postés par SStephane
-
-
Sans aller jusqu'à faire aussi bien que dream, tu connais un plugin wysiwyg correct pour netbeans ? (depuis le temps que je suis dessus ! )
-
Tentative d'intrusion
dans PHP
Fail2ban est un outil, rien de plus. Mal utilisé, c'est pourri ... et je rejoins ton point de vue sur le bannissement aveugle des 404 répétés.
Je te remercie de mettre en avant mon "talent" dans la config de fail2ban (ton cynisme répond au mien qui était peut-être déplacé -auquel cas, je m'en excuse-), je pense sincérement qu'avec un minimum d'investissement, on arrive à une configuration plus qu'acceptable.
nombreux sont ceux qui utilisent mal fail2ban, qui reste tout de même dangeureux s'il n'est pas adapté à la situation
On a d'ailleurs tous été victime de ses propres règles (3 mot de passe ratés, reviens dans 10 minutes )
on trouve trop souvent des configurations "types" appliquées à tout et n'importe quoi
Je te concède ça ! dès lors que le produit est livré avec un config moyenne (notamment pour apache et postfix, pas pour ssh)
Mais sur des 401 répétés, sur des 404 abusés... (genre .*phpmyadmin.* ce qui entre dans le cas de figure d'alain non ?) on peut facilement éviter les faux positifs car à l'inverse de beaucoup d'autres outils, c'est tout de même très simple à utiliser,et il est simplement dommage de s'en priver !
-
Tentative d'intrusion
dans PHP
Important de connaitre la motivation des attaquants... ce n'est pas de faire tomber un site, mais beaucoup d'un coup dans le cas ou l'on ne présente qu'un intérêt financier relatif (j'aurais beaucoup à dire là dessus).
Mon point de vue est d'empêcher purement et simplement les kiddies d'identifier un script connu pour l'exploiter au moment ou une faille sera déclarée sur celui-ci.
Attention également à fail2ban, qui même très bien configuré, apporte souvent plus de problème aux vrais visiteurs (faux positifs) qu'aux attaquants.
Les faux positifs, quand un fail2ban est "très bien configuré" (même dans le cas ou un concurent me voudrait du mal, avec un peu d'imagination, tu comprendras ce que je veux dire), j'en ai jamais eu en prod.
Je suis d'accord avec toi sur le principe, mais je ne peux te laisser dire (même sous-entendre) que ca crée plus de problèmes que ça n'en résoud.
A noter également que vouloir effectuer une action de ban sur un 404 est le meilleur moyen de bloquer un crawler Google
Nous n'avons donc pas pas même notion du fail2ban "très bien configuré", je suis rassuré
-
je n'ai pas de lenteur
-
tu peux toujours cibler sur l'IP en la geolocalisant
-
Dans ce cas, à part traiter lorsque l'entête n'est pas définit... mais tu le fais surement déjà...
-
Tentative d'intrusion
dans PHP
PS : si tu n'as pas un dédié pour tu aussi gérer les 404, et s'ils sont répétés mettre un deny from xx.xx.xx.xx dans ton htaccess.
-
Tentative d'intrusion
dans PHP
J'utilise fail2ban pour ça (j'allège les règles d'exclusion pour éviter les faux positifs) : dans l'idée, du genre :
[[]client (?P<host>\S*)[]] File does not exist: .*\.(php|asp|aspx|jsp)plus précis :
[[]client <HOST>[]] (File does not exist|script not found or unable to stat): .*/(cgi-bin|admin|Admin|sql|mail|phpmyadmin|file:|php|pma|web|PMA|PMA2006|pma2006|sqlmanager|mysqlmanager|PMA2005|phpmyadmin-old|phpmyadminold|pma2005|phpmanager|mysql|myadmin|webadmin|sqlweb|websql|webdb|mysqladmin|mysql-admin|phpmyadmin2|phpMyAdmin2|phpMyAdmin-2|php-my-admin|cms|clan|site|seite|page|forum|wbb2|board|wbb|archive|forumv2|forumv1|b0ard|f0rum|wbb1|wbb3|wbblite|directforum|board23|board2|board3|WBB|WBB2|html|phpkit|page|phpkit_1.6.1|clan|myadmin|webadmin|sqlweb|websql|webdb|mysqladmin|mysql-admin|phpmyadmin2|php-my-admin|phpMyAdmin-2.2.3|phpMyAdmin-2.2.6|phpMyAdmin-2.5.1|phpMyAdmin-2.5.4|phpMyAdmin-2.5.6|phpMyAdmin-2.6.0|phpMyAdmin-2.6.0-pl1|phpMyAdmin-2.6.2-rc1|phpMyAdmin-2.6.3|phpMyAdmin-2.6.3-pl1|phpMyAdmin-2.6.3-rc1|padmin|datenbank|database|horde|horde2|horde3|horde-3.0.9|Horde|README|horde-3.0.9|adserver|phpAdsNew|phpadsnew|phpads|Ads|ads|xmlrpc|xmlsrv|blog|drupal|community|blogs|blogtest|appserver|roundcube|rc|mail|mail2|roundcubemail|rms|webmail2|webmail|wm|bin|roundcubemail-0.1|roundcubemail-0.2|roundcube-0.1|roundcube-0.2|roun|cube|wp-login.php|ucp.php|\.asp|\.dll|\.exe|\.pl)A utiliser avec précaution, mais ça en vire pas mal (ça vire potentiellement les vrais utilisateurs si t'as des 404... donc faire gaffe selon tes sites à virer ou à ajouter des règles).
Enfin, c'est surtout pour dire que l'on est pas obligé de "ne rien faire". D'autre part, je vire définitivement les IPs insistantes.
-
Je ne sais pas si tu pourras y faire grand chose, si tu peux l'afficher en JS, fait une pirouette... window.opener.location.href.
-
ça sera pas viable.
Non
NodeJS sera-t-il viable à forte affluence.
Oui, même très forte.
Pour tes logs, tout dépend comment tu veux les exploiter par la suite.
As tu réellement besoin de SQL ? (car tu peux aussi faire des logs simples ( genre echo "machin" >> chat.log ), 1 fichier de log par room, par exemple (sauf à espionner les chatteurs, pas trop d'intérêt, en général on conserve juste ce genre de truc au cas ou...)
En SQL avec nodejs, les seules requêtes que tu feras seront des requêtes d'insertion (pour l'historique, ce que tu peux eviter avec des fichiers de log).
Après, même en ajax, tu peux nettement limiter les requetes SQL, mais tu n'éviteras jamais les requêtes AJAX repétées (touts les secondes pour un truc à peu pres correct), donc à terme, c'est pas viable ( autant installer loic directement sur les clients ).
PS : bon anniv
-
(ma contribution ne sert à rien pour ton sujet, et je ne peux pas t'aider, mais merci de partager ton expérience, je trouve ça sympa pour ceux qui se lancent)
Voilà, je sors
-
Tu installes d'abord nodeJS, ensuite tu édites le fichier JS du serveur avec tes paramètres (généralement le port d'écoute, je l'ai fait à l'arrache, donc dans le code), les fichiers du client aussi, il doit y avoir l'IP d'un de mes servuers dessus.
Ensuite tu lances le serveur en SSH :
nodejs chat-server.jsEt c'est tout !
-
Faut pas être refractaire au progrès comme ça
PLusieurs avantages :
- tu n'envoies pas de requêtes inutiles sur le serveur - l'interval que tu es obligé de définir pour récupérer les messages - (et ton client est déjà en JS, d'un certain point de vue)
- instantanéïté des messages
Dans la source que je t'ai passé, il y a un proxy swf qui gère les sockets lorsque le navigateur ne les gère pas (IE < 10), pas d'excuse de portabilité !
Un inconvénient : il faut gérer les déconnexions des clients et faire des tentatives de reconnexion lorsque ça déconne !
-
-
.sf-menu ul { margin-top: -10px; }devrait régler ton souci (j'ai zieuté en speed)
-
Hello,
Bonne chance et... je retire ce que j'ai dit sur DOMDocument : http://p0l0.binware.org/wp-content/uploads/2011/07/300x203xXML-1000-100-300x203.png.pagespeed.ic.Vm75GAcX_4.png (Sauf à ce qu'il y ait eu des MAJ dans l'implémantation, pas de gain de perf avec DD selon plusieurs sources, même des pertes).
En gros, utilise la première méthode, en terme de relecture de code, c'est quand même beaucoup plus simple !
-
<?php
$szXML = <<<EOT
<product class="pointData">
<time datatype="forecast" from="2013-04-21T12:00:00Z" to="2013-04-21T12:00:00Z">-
<location altitude="132" latitude="43.3000" longitude="5.3800">
<temperature id="TTT" unit="celcius" value="15.2" />
<windDirection id="dd" deg="302.4" name="NW" />
<windSpeed id="ff" mps="5.3" beaufort="3" name="Lett bris" />
<humidity value="50.8" unit="percent" />
<pressure id="pr" unit="hPa" value="1015.6" />
<cloudiness id="NN" percent="50.8" />
<fog id="FOG" percent="0.0" />
<lowClouds id="LOW" percent="18.8" />
<mediumClouds id="MEDIUM" percent="17.2" />
<highClouds id="HIGH" percent="38.3" />
</location>
</time>
<time datatype="forecast" from="2013-04-21T15:00:00Z" to="2013-04-21T15:00:00Z">-
<location altitude="132" latitude="43.3000" longitude="5.3800">
<temperature id="TTT" unit="celcius" value="15.5" />
<windDirection id="dd" deg="311.3" name="NW" />
<windSpeed id="ff" mps="6.2" beaufort="4" name="Laber bris" />
<humidity value="50.5" unit="percent" />
<pressure id="pr" unit="hPa" value="1013.8" />
<cloudiness id="NN" percent="62.5" />
<fog id="FOG" percent="0.0" />
<lowClouds id="LOW" percent="27.3" />
<mediumClouds id="MEDIUM" percent="36.7" />
<highClouds id="HIGH" percent="36.7" />
</location>
</time>
</product>
EOT;
SimpleXML :
$xml = simplexml_load_string($szXML);
foreach($xml->time as $time):
if((string) $time['from'] == (string) $time['to']):
print $time->location->temperature['value'];
endif;
endforeach;
(précision, dans la condition, je caste en string -avec (string)- car il s'agit d'objet, sans cast, fort à parier que cela retourne false)
Tu peux envisager un truc avec DOM aussi :
$dom = new DOMDocument();
$dom->loadXML($szXML);
$timeNodes = $dom->getElementsByTagName('time');
foreach($timeNodes as $time):
if( $time->getAttribute('from') == $time->getAttribute('to')):
print $time->getElementsByTagName('location')->item(0)->getElementsByTagName('temperature')->item(0)->getAttribute('value') ;
endif;
endforeach;
La conclusion : DOMDocument n'est quand même pas idéal à utiliser dans ton cas, peut être plus performant si tu traites un gros fichier, mais bon...
-
ça commence à dater ... et en utilisant 2 api, je l'avais récupéré.
Un domaine à 3 lettres, oui, j'imagine que nous pouvions potentiellement être plusieurs sur le coup et ne souhaitait pas prendre de risque
-
Personne n'a essayé ?
Si ça vous intéresse, je vous dirai le résultat (en fait, je me demande comment les moteurs vont traiter ces articles dans les résultats de recherche)
-
Je te recommande de logguer les requêtes qui posent problème http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html
(***edit : > 1s par exemple, pas 10 comme par défaut)
Et à l'usage d'ajouter des index si besoin, voire tout simplement d'ajouter les clés étrangères qui sont absentes (de mémoire) sur l'ainstall de base de wordpress, phpmyadmin (si tu l'as) donne certaines infos -de mémoire, je l'utilise pas-.
Des fois, une seule requête peut poser problème, j'ai eu le cas avec un simple formulaire d'authentification (qui s'est réglé avec un index des 2 premières lettres sur le login).
En tout cas bonne chance, c'est chiant !
-
En fait, tu as tout bien fait mais ça marche pas Mais tu veux quand même pas me donner le résultat de la commande que je t'ai demandé
Que apache t'affiches du html quand tu appelles une url, ça veut pas dire que le service rtmp fonctionne ... d'où ma demande (si y'a 2 ports différents, y'a probablement + d'un service)
Je suis quand même content que tu me dises quel serveur tu utilises, en l'occurence red5, qui est très verbeux quand tu entres ta commande "sh red5.sh".
SI ça ne fonctionne pas ce qui semble être le cas, il pourrait être intéressant de nous dire ce qui est écrit, red5 peut démarrer et ton appli planter (celle de videowhisper), car le fait de nous expliquer ou tu as téléchargé l'application n'aidera pas... (je compte pas me taper la doc de videowhisper et reproduire chez moi pour être franc).
En partant du principe que red5 est correctement installé -pas ton appli vw-, ton erreur est une des suivantes :
- pare-feu mal configurée,
- appli qui plante,
- client mal configuré,
- ...
Si tu prends le temps de taper la cmd et de poster ces logs, genre si tu vois des [ERROR] (et même si ça bootstrap à la fin), ça permettra de répondre à la question "laquelle ?".
-
le module RTMP est ok
ça va faire court pour t'aider vu que ton souci vient probablement de ton serveur rtmp. (donc pas si "ok" que ça )
Que donne netstat -tanpu|grep 1923 ? (si tu utilises le port par défaut) et d'aileurs, c'est quoi ton serveur rtmp ?
-
Ola,
Sur un site de recherche scientifique, je cherche à publier des pages abondamment illustrées (image+contenu), chaque page a un thème.
Je ne connais pas super bien les microdata, mais j'ai pensé à partir sur "article", j'ai plusieurs auteurs (et potentiellement contributeurs) par page
<div itemscope itemtype="http://schema.org/Article">
Auteurs :
<a href="LIEN VERS LA PAGE AUTEUR" itemprop="author" rel="author">Auteur 1</a>,
<a href="LIEN VERS LA PAGE AUTEUR" itemprop="author" rel="author">Auteur 2</a>,
...
Contributeurs :
<a href="LIEN VERS LA PAGE AUTEUR" itemprop="contributor" rel="contributor">Contributeur 1</a>,
<a href="LIEN VERS LA PAGE AUTEUR" itemprop="contributor" rel="contributor">Contributeur 2</a>
<!-- contenu -->
</div>Mes questions : avoir plusieurs auteurs, ça pose problème ? Si je rajoute des auteurs aux illustrations du contenu, ça va pas poser soucis également ?
PS : je hais html
-
nowdoc obéït certainement aux même lois en terme de rapidité (certainement pour évoquer un doute).
Pour l'utilisation des simples quote, je suis la recommandation de zend : simple quote quand il n'y a pas de simple quote/variable dans ma string http://framework.zend.com/wiki/display/ZFDEV/PHP+Coding+Standard+%28draft%29#PHPCodingStandard%28draft%29-StringLiteralsContainingApostrophes
(Je me permets de le préciser dans ton topic car tu abordes le sujet, et ne souhaiterais pas que la simple-quote se démocratise trop auprès de codeurs qui pourraient en devenir aficionados !)
Aufwiedersehen !
Envoi d un formulaire en php
dans PHP
Posté
Dans ton php.ini, tu mets le smtp de ton fournisseur d'accès, et ta fonction mail passera par là. Par exemple :
A noter que le nombre de mail que tu peux envoyer chaque jour sera décompté au niveau du FAI, y compris ceux d'éventuels cc ou cci (je ne connais pas le nombre exact, mais ça doit tourner aux alentours de 200 sur les offres domestiques).
Sinon mieux, tu utilises une librairie dédiée et tu n'utilises pas la fonction mail()
Pour info, il est possible d'injecter du code dans tes entêtes, donc de spammer ton formulaire; il faut echapper tes variables car nous vivons dans un monde cruel.