Crawler-statistik pur
März 16, 2009
Ich habe ein schönes Open Source Programm zum Thema Crawler Statistik gefunden:
http://www.crawltrack.net/
Ich denke ein wenig erweitert kann man gut crawler von seinen formularen fernhalten
.
Schauts euch mal an, ist ein wirklich gutes Tool wenn man wissen will was auf der eigenen Seite so los ist
Eigener Session Handler – mit Cronjob!?
März 8, 2009
Ich schreibe zur Zeit an einem eigenen Session Handler und versuche diesen gleich mit ein paar Sicherheitsparametern zu bestücken.
Gleichzeitig hab ich mir überlegt wäre es sinnvoll in einen Sessionhandler einen Cronjob – zumindest optional – mit einzubauen.
Dabei fallen mir mehrere Sachen auf die ich noch zu lösen habe.
Aber erstmal zur eigentlichen Klasse:
______________________________________________________
English:
I spended some time to write an Session Handler and I try to make this Handler with a few Securty Settings. At the same time I thought it would be nice to to this Sessionhandler with an optional Cronjob. But, there are many thing to do left:
But first, the Class:
Den Rest des Beitrags lesen »
In-Place-Editor Online (endlich)
März 6, 2009
Der In-place-Handler ist nun endlich online:
(here we go
)
www.phpclasses.org/browse/package/5178.html
Keine Große Sache, aber sehr hilfreich
HF damit…w
PHP Session security – Sicherheit
Februar 27, 2009
Manchmal wird man einfach nicht schlau aus den Post die im Internet zum Thema PHP Session Sicherheit gemacht werden.
Dabei kann es so einfach sein, mit wenigen Mitteln, einigermaßen Sicherheit zu bekommen.
Welche Gefahren bestehen den wenn man SESSIONs benutzt?
Nunja, alle SESSION Daten des Users können geklaut werden. Was bringt dem Angreifer das?
Ein wirklich gute Frage.
Eine Session sollte(!) keine Passwörter enthalten -> können nicht gestohlen werden.
Eine Session sollte nur Daten beinhalten die für den Angreifer eigentlich uninteressant sind, niemals sensible Daten.
Aber der Angreifer kann die SESSION auch fortsetzen, das ist wohl das eigentliche Problem, das heißt Userdaten können manipuliert werden, ungewollte Einkäufe getätigt oder – wenns richtig dumm läuft die vorgespeicherten Kreditkartendaten ausgelesen werden.
Wie kann man dem also vorbeugen:
____________________________________________________
English:
This Post contains a few tips to make easy PHP SESSION secure. Sometime you only find confusing Post, so I decide to make a very small list…
____________________________________________________
____________________________________________________
Ein gutes, einfaches und sehr schlichtes Mittel ist:
(Just a easy and simple solution)
1)
session_start();
session_regenerate_id(TRUE);
Die SESSION id wird gleich geändert beim Start, der Angreifer hat nicht viel Zeit darauf zu reagieren. Nachteil, der Refreshbutton schmeißt auch eure normalen User aus der SESSION.
(The Session id will change at the begin. The attacker has no mutch time to handle it. The only bad thing is that the refreshbutton will kick out the normale user too.)
_____________________________________________________
2. Ein zweiter hilfreicher “Trick” ist wohl das benutzen von:
(second trick)
if(empty($_SESSION['Uni_K']))
{
$_SESSION = array();//nicht das das was unerwünschtes mitkommt
$_SESSION['Uni_K'] = uniqid();
}
if(empty($_REQUEST['Uni_K']))
{
Hier wird zum erstenmal zugegriffen, Herkunft unbekannt
}elseif($_REQUEST['Uni'] !== $_SESSION['Uni_K'])
{
// vorsicht nicht erlaubt
}else
{
//jetzt kanns losgehn
}
Danach(After):
output_add_rewrite_var ('Uni',$_SESSION['Uni_K']);
Was hier bedacht wurde: das $_REQUEST Problem,
denn REQUEST enthällt ebenfalls Cookiedaten.
Der Angreifer müsste also die Session stehlen und dann ein Cookie erzeugen der diesen REQUEST übernimmt, es ist daher anzuraten den SESSION Key von dem REQUEST key zu unterscheiden und einen anderen Namen zu geben, das macht es dem Angreifer eigentlich unmöglich den richtigen $_REQUEST Key zu finden (außer bei opensource
)
(The thoughts about the $_REQUEST Problem just bring me to this solution: the keys are just differ. With this solution its easy to make your Session a bit saver)
__________________________________________________
3)
Zudem könnte man für eine SESSION einen SESSION_SANITY_KEY bilden aus $_SERVERinformationen
(You can use a SESSION_SANITY_KEY, too. You can build it with $_SERVER informations)
__________________________________________________
4) Für Programmierer die es noch sicher brauchen empfehle ich den
Save_handler den php bereitstellt.
- For more securty you can use the php included Save Handler
Eine Quelle phpforum
php sicherheit
Februar 26, 2009
Hi,
ich bin gerade darauf gestoßen: Sicherheit
Ich denke ein sehr interesanter Vortrag und es lohnt sich auf jeden Fall ihn durchzulesen.
Smarty Template Engine
Februar 25, 2009
Für alle PHP Programmierer die es noch nicht kennen:
Smarty
Wohl eines der bekanntesten Template Engines die es so gibt. Sie ist einfach zu handln und eigentlich immer up to Date was neue PHP Versionen angeht.
Der Grund warum ich das hier anbringe. Mir ist aufgefallen das Sie vorallem viele Anfänger immer wieder im Spagetticode verlieren und Smarty Möglichkeiten bietet diesem zumindest ansatzweise zu entgehen.
Dabei wollte ich auch darauf hinweisen das die Version 3.0 am entstehen ist und ich schon sehr gespannt bin was uns erwartet. Ich hoffe ja auf eine Engine die Ajax-Elemente integrieren kann. Wir dürfen gespannt sein.
For all PHP Programmers who dont know about it:
Smarty
I think its the most popular Template System. Its easy to handl and allways up to date with the curtain php versions.
Why I write this?
I think mostly for beginners its very difficult to get a clear code, and with this engine even beginners can handle deviding code a little bit better.
Last thing: Soon Smarty 3.0 will be released, hope in this version includes a ajax function, that would be very very nice.
we’ll se
SQL sortieren nach Datum/Sort SQL by Date
Februar 20, 2009
Jaja, das Sortieren von SQL SELECT s ist schon so eine Sache vor allem wenn ein Datum ins Spiel kommt.
Ich habe mir mal den Spaß gemacht und eine “ungetesteten” SQL Query gesucht, gefunden und umgeschrieben das er auch einigermaßen verständlich ist. Ich werde Ihn bestimmt irgendwann testen
$sqlquery="SELECT Whatever
FROM tableName
WHERE DateField BETWEEN
DATEADD(day, -7, GETDATE())
AND GETDATE()
GROUP BY DateField";
Das ist nun eine Sortierung die quasi die letzte Woche zeigen sollte,
ich bin mir nicht ganz sicher, ob man statt “day” auch “d”
schreiben kann, sollte zumindest gehen, vielleicht fehlen auch
noch ein paar ‘
.
Nachtrag:
Einfacher geht das natürlich mit einer Abfrage wie sie auch mysql in der Docu hat. Die Beispiele weisen darauf hin das Sie für beliebige Zeiten erweitert werden können, da statt curtdate() natürlich auch jedes Andere Datum eingefügt werden kann, zumindest theoretisch.
SELECT something FROM tbl_name
WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
Hi Guy, jeje, the SQL SELECT, its a strange thing, so,
i write a little query for you to select the Data of the last Week,
take care its untestet, maybe missing some ‘ s …… I will test later
script.aculo.us (in Place Editor) auf PHP
Februar 19, 2009
Ich habe gestern eine kleine Klasse geschrieben mit der ich einfach – also einfach ist script.aculo.us sowieso gehalten – ich meine einfach mit PHP zu implementieren. Ein entsprechende Klasse habe ich auf phpclasses hochgeladen. Mal sehn wie lange die zur Validierung brauchen, dann folgt der Link.
Hier aber die Hauptfunktion :
public function add_inPlaceEditor($id_element, $php_file, $options)
{
$this->scripttext.=’var ‘.$id_element.’ = new Ajax.InPlaceEditor(\”.$id_element.’\',\”.$php_file.’\',{‘;
if(is_array($options))
{
$i=0;
foreach($options as $key => $value)
{
$i++;
if($i==count($options))
{
$this->scripttext.=$key.’:\”.$value.’\”;
}
else
{
$this->scripttext.=$key.’:\”.$value.’\',’;
}
}
}
else
{
return ‘Your set Option is not an array’;
}
$this->scripttext.=’} );’;
}
Damit ist es relativ einfach neue InEditFelder zu definieren
Ich habe schon ähnliche PHP Klassen dazu gesehen, aber die meisten sind sehr sehr unübersichtlich. Falls jemand einen Link zu einem übersichtlichen hat wär ich natürlich dankbar, das Inet is schließlich groß
….
achja Ausschnitt ist unter BSD-Lizenz…..
_________________________________________________
Hi,
Yesterday I write a little Class for scriptaculos to handle th in Place Editor with PHP. The Code you find in the first german part. The full code will be released on www.phpclasses.org later, after validating.
Maybe you know some other classes who handle scriptaculos, so let me know. I just write it because i dont find any ‘good’ and understandable Version for this.