Vinnaren i pepparkakshustävlingen!
2010-01-22, 09:06
  #1
Awaiting Email Confirmation
Testishs avatar
Jag har bara en fråga om det är möjligt att blockera citationstecken i .htaccessfilen?

Detta för att förhindra mysql-attacker (jag vet att det inte blir 100% skyddat mot det ändå), men detta är bara en del av säkerhetsgrejen

Hur görs detta isåfall?

Citationstecken ska alltså blockeras i URLen om jag var otydlig

Det ska alltså inte gå att skriva:
www.hemsida.se/?query=341'
eller
www.hemsida.se/?query=341"
__________________
Senast redigerad av Testish 2010-01-22 kl. 09:20.
Citera
2010-01-22, 18:26
  #2
Medlem
demitos avatar
Ja, det kan du göra. Läs mer här: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

EDIT: för att ändra URL:en vill säga. Det bör även gå att direkt neka alla requests som innehåller citationstecken, varför man nu skulle vilja det.
Citera
2010-01-22, 18:32
  #3
Medlem
z0mfg(ish)s avatar
Är väl enklare att göra direkt i koden.
Du säger att du kör mysql, då gissar jag att du kör php och bör kolla in mysql_real_escape_string()...
Citera
2010-01-24, 20:17
  #4
Medlem
Nima_Ps avatar
Säger som föregående talare, går enkelt att göras med php

Kod:
foreach ($_GET as $check_url) {
    if ((
eregi("<[^>]*script*\"?[^>]*>"$check_url)) || (eregi("<[^>]*object*\"?[^>]*>"$check_url)) ||
        (
eregi("<[^>]*iframe*\"?[^>]*>"$check_url)) || (eregi("<[^>]*applet*\"?[^>]*>"$check_url)) ||
        (
eregi("<[^>]*meta*\"?[^>]*>"$check_url)) || (eregi("<[^>]*style*\"?[^>]*>"$check_url)) ||
        (
eregi("<[^>]*form*\"?[^>]*>"$check_url)) || (eregi("\([^>]*\"?[^)]*\)"$check_url)) ||
        (
eregi("\""$check_url)) || eregi("\'"$check_url)) {
    die (
redirect('en sida, eller avsluta läsandet från serversidan.'));
    }


Den sista eregi kollar " och ' finns med.

Ganska bra funktion denna Så tror inte du behöver göra de via htaccess, utan lägg in funktionen i en fil som alltid körs på server sidan, först av allt, innan alla dina mysqlfunktioner startar.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback