ugrás a tartalomhoz

Archívum - Jan 2010

január 12

Tűzfal készítése PHP segítségével

Baranyai László · 2010. Jan. 12. (K), 10.53
Tűzfal készítése PHP segítségével
A leggondosabb tervezés mellett is maradhat sérülékeny kódrészlet a webalkalmazásokban. Ezt kihasználva rosszindulatú látogatók támadó kódokat helyezhetnek el a honlapokon, vagy egyszerűen teleszemetelik. Mindkettő komolyan csökkenti egy honlap és annak szolgáltatásainak értékét. Másrészt a sérülékenységeket kereső letöltések is terhelik a szervert. A rövid időn belül sok egymást követő próbálkozás akár elérhetetlenné is teheti a kiszemelt honlapot. Itt már nem elegendő a beérkező adatok hagyományos ellenőrzése, érdemes megfontolni az aktív védekezés lehetőségét is.

JQuery sfwobject dinamikus flashvar

Apofiszh · 2010. Jan. 12. (K), 04.47
Sziasztok!

érdekes jquery problémába ütköztem, van egy flash képgalériám, de egy oldalon belül többször szeretném felhasználni, flash vár egy változót és annak megfelelően tölti be a galéria képeket, ez statikusan működik, dinamikusan már nem és ez a gond

html rész:

<div class="list_gallery" lc_ids="{$i.list_content_id}"></div>

//ez itt szépen megkapja az idt,firebuggal ellenőrizve, {...} <-smarty kód

js rész:

$('.list_gallery').flash(
{
swf: 'flash/csak_a_kepek.swf',
width: 642,
height: 150,
flashvars: { lc_ids: $(this).attr("lc_ids") }
});

és az eredmény:

<param value="lc_ids=undefined" name="flashvars"/>

itt az undefineden van a hangsúly

jquery 1.3.2
jquery swfobject: jquery.swfobject.1-0-9.js

Aki érti a jquery-t az ha tud segítsen, köszönöm szépen előre is.
 

január 12

átláthatóbb kód, ti hogy csináljátok?

unregistered · 2010. Jan. 11. (H), 22.35
Hello!

Már évek óta érdekel, ki hogy oldja meg a kód könnyű átláthatóságát csak mindig elfelejtem megkérdezni :)

Ékezetes karakterek cseréje

Don Oden · 2010. Jan. 11. (H), 21.55
Sziasztok!
Fura dolgot észleltem miközben egy felhasználóbarát url-t szerettem volna készíteni egyik oldalamon.

Készítettem egy függvényt, ami átalakítja kiszedi a kódból a speciális kaarktereket, és a szóközök helyére egyedi elkülőnítő karaktert tesz. Tökéletesen működik az a része, viszont az ékezetes karaktereket az istenért sem akarja lecserélni php 4.0.3-at futtató szerveren.
$accents = array(
            'á' => 'a', 'Á' => 'A',
            'ä' => 'a', 'Ä' => 'A',
           
            'é' => 'e', 'É' => 'E',
           
            'í' => 'i', 'Í' => 'I',
           
            'ó' => 'o', 'Ó' => 'O',
            'ö' => 'o', 'Ö' => 'O',
            'ő' => 'o', 'Ő' => 'O',
           
            'ú' => 'u', 'Ú' => 'U',
            'ü' => 'u', 'Ü' => 'U',
            'ű' => 'u', 'Ű' => 'U'
    );
   
    foreach ($accents as $key => $val)
    {
        $str = preg_replace('#'.$key.'#', $val, $str);
    }


így néz ki a kód. A lényege az egésznek, hogy tökéletesen működik php 5 alatt, egy újabb verziójú php 4 alatt is, amit itthoni gépre tettem fel, azon a szerveren viszont az istenért sem akar futni. Kíváncsi vagyok tudtok-e valami jó tanácsot mondani ezzel kapcsolatban, amit már előre meg is köszönnék :)
 

href-es javascript alkalmazásának helyessége

unregistered · 2010. Jan. 11. (H), 17.15
Hello!

Már rongyosra olvastam a JS linkelésével kapcsolatos cikkeket és fórumokat, de még mindig nem találtam arra választ, hogy ha egy admin oldalon (ahová robotok nem jutnak be, illetve engedélyezve van mindig a böngészőben a JS) mennyire szerencsés használni az alábbi kódrészletet?
<a href="JavaScript:valami('egy',ketto','harom')">
(Az én alkalmazásomban egy végtelenül egyszerű szerepet tölt be a függvény: egy confirm ablakot tár a szemünk elé)

Köszönöm előre is a fejtágítást ;)
 

január 10

Ajax - cache kezelése

inf · 2010. Jan. 10. (V), 16.38
Üdv.

Kíváncsi vagyok nektek milyen tapasztalataitok vannak a cache témakörben.

Én nemrég próbálkoztam js fájlok beszúrásával(sync+eval), és próbáltam kikényszeríteni, hogy ne cachelje őket a böngésző. Végül sikerült megoldani no-cache és if-modified-since request headerekkel a problémát. (Ha minden igaz.) Elég nagy kavarodás van a böngészőknél ebben a cache témában, mert 304-es header helyett 200-asat kapok, amikor a 304 mellett ugyanúgy lehetne adatot küldeni, és legalább tudnám, hogy cacheből kapom...

A periodicalUpdater-nél ti szoktátok használni a 304-et?

Még a sync+evallal kapcsolatban érdekesség, hogy localhoston rendesen megy a dolog, viszont fájlként megnyitva (file://) xml-ként akarja feldolgozni a rendszer. Erre nem találtam semmilyen megoldást...
 

JavaScript - a beírt adatok megjelenítése és mentése

Dzsijszi · 2010. Jan. 10. (V), 12.40
Sziasztok!

Lenne egy olyan kérdésem, hogy JavaScript -ben írtam egy programot, amely megjelenít egy szövegmezőt mellete egy gombbal. Ha a szövegmező melletti gombra kattintunk kiírja a program, azt a szöveget, amit a szövegmezőbe beírtunk. Én azt szeretném elérni, hogy ne csak kiírja hanem el is mentse a szöveget és ha újra betöltjük az oldal, akkor is jelenjen meg az előbb beírt szöveg.

A program js kódja:

var numnames=0;
var names= new Array();
function SortNames() {
	// név kiolvasása a szövegmezőből
	thename=document.theform.newname.value;
	// a név hozzáadása a tömbhöz
	names[numnames]=thename;
	// a számláló növelése
	numnames++;
	// a tömb rendezése
	names.sort();
	document.theform.sorted.value=names.join("\n");
}
A program html kódja:

<html>
<head><title></title>
<script type="text/javascript" language="javascript" src="sort.js">
</script>
</head>
<body>
<h1>Sorting String Arrays</h1>
<p>Enter two or more names in the field below,
and the sorted list of names will appear in the
text area.</p>
<form name="theform">
Name:
<input type="text" name="newname" size="20" />
<input type="button" name="addname" value="Add"
onclick="SortNames();" />
<br />
<h2>Sorted Names</h2>
<textarea cols="60" rows="10" name="sorted">
The sorted names will appear here.
</textarea>
</form>
</body>
</html>
A segítséget előre is köszönöm!
 

január 9

PHP OOP szemlélet - egyszerű példa

supi007 · 2010. Jan. 9. (Szo), 17.01
Hello,

Szeretnék áttérni objektumok használatára.
Sajnos még nem értettem meg, de talán egy jó példa segítségemre lenne.
Van-e értelme az adatbázishoz csatlakozást objektumba zárni?
Hogyan nézne ki? Hogyan tovább, ha megírtam ezt az objektumot?

supesz
 

január 8

Űrlap mezők felhasználása változóként

killerricsi · 2010. Jan. 8. (P), 20.23
A lenti programmal kapcsolatban szeretnék segítséget kérni.
Két napja próbálom megoldani a problémát, de nem sikerül. (Most tanulom a php-t.)
A if ( isset( $azonosito) && isset( $nev ) ) feltétellel indul a program.
Ha a $azonosito és a $nev változónak nincs értéke, akkor generálódik egy űrlap, ahol meg lehetne adni a két változó értékét. Ezután a program a két értéket automatikusan feltöltené egy adatbázisba.
A hiba ott van, hogy az urlap_keszit() alprogram vagy nem ad értéket a $azonosito és a $nev változóknak, vagy ezek már nem élnek az alprogramon kívül, mivel az if ( isset( $azonosito) && isset( $nev ) ) feltétel mindig false.
Próbáltam többféleképpen is átdolgozni a programot, de sehogy nem működött. Ez egyébként egy példaprogram, aminek működnie kéne.
Sokat segítenétek, ha valaki kijavítaná a programot és elmondaná a hibát.
Köszönöm!


<html>
<head>
<title>A felhasználó által megadott adatok beszúrása a táblába</title>
</head>
<body>

<?php

if ( isset( $azonosito) && isset( $nev ) )
{
$dbhiba = "";
$vissza = adatbazis_bovit( $azonosito, $nev, $dbhiba );

if ( ! $vissza ) print "Hiba: $dbhiba<BR>";
else print "Köszönjük!";
}
else {urlap_keszit();}

function adatbazis_bovit( $azonosito, $nev, &$dbhiba )
{
print "adatbazisbovit";
$server = "localhost";
$felhasznalo = "root";
$jelszo = "";
$adatbazis = "adatbazis1";
$kapcsolat = mysql_connect( $server,$felhasznalo, $jelszo );
if ( ! $kapcsolat )
{
$dbhiba = "Nem lehet kapcsolódni a MySQL kiszolgálóhoz!";
return false;
}

if ( ! mysql_select_db( $adatbazis, $kapcsolat ) )
{
$dbhiba = mysql_error();
return false;
}

$parancs = "INSERT INTO table1 ( azonosito,nev ) VALUES ( '$azonosito', '$nev' )";
if ( !

Obtaining the next month in PHP

Török Gábor · 2010. Jan. 8. (P), 11.58
Hogyan következhet január után március?