Jump to content
php.lv forumi

Iebūvēta funkcija?


Kemito

Recommended Posts

Sveicināti, man radies mazs jautājums!

Tākā mana funkcija filtrēšanai vairs mistiskā kārtā nestrādā, kas izskatās šādi:

function secureString($string,$mysql) 
{
 if (get_magic_quotes_gpc())
 {
  $string = stripslashes($string);
 }
 if($mysql)
 {
  $string=mysql_real_escape_string($string);
 }
 return $string;
}

Man vairs neņem pretī tieši šo rindiņu - get_magic_quotes_gpc()

ja godīgi viņš izsauc nedefinētu funkciju, bet ja nemaldos iepriekš man visu laiku tā gāja! Varbūt tā ir atkarīga no kautkādas versijas vai kas cits? Varbūt kādam ir kāda cita funkcija ko ieteikt?

Link to comment
Share on other sites

tā ir atkarīga no php versijas.. vecajās bija jaunajās nava automātiski ieslēgts... php.ini magic quotes vajag izslēgt un un un labak function_exists("get_magic_quote_gps"); neka laist funkciju , kura die'os, ja nebuus atrasta.

palabojiet, ja kluudos

Link to comment
Share on other sites

http://php.lv/f/topic/15362-aizsardzibas-sistemas-majaslapam-papildus-drosibai/page__view__findpost__p__118158

 

btw, ja tās magic quotes nevajag un arī atslēgt nevar, tad visiem $_GET/$_POST uztaisa stripslashes() jau pašā sākumā, nevis katru reizi, kad vajag eskeipot kādu vērtību priekš sql query

Edited by 2easy
Link to comment
Share on other sites

Nu ja nekļūdos tad man izskats jau ir šāds

magic_quotes_gpc = On

Pēc tā var spriest, ka funkcija jau ir ieslēgta!

Vairāk iekš php.ini neko diži par tieši to neatradu!

 

EDIT: 2easy tu saki, ka vienkārši lietot htmlspecialchars funkciju, un nevaig neko vairāk?

Edited by Kemito
Link to comment
Share on other sites

IZSLEEGT VAJAG MAGIC QUOTES!!!one111!!!oneon1on11elevel!!

,ja nevari, tad lieto šo funkciju:

vnk iemet lapai kku augšā:

if (get_magic_quotes_gpc()) {
// Yes? Strip the added slashes 
$_REQUEST = array_map('stripslashes', $_REQUEST); 
$_GET = array_map('stripslashes', $_GET);
 $_POST = array_map('stripslashes', $_POST);
  $_COOKIE = array_map('stripslashes', $_COOKIE); 
 }

o es skatos man arii ir bez function exists.. tad jau gan jau ka pareizi ;D

Link to comment
Share on other sites

Diemžēl es nespēju vēl saprast!

Ko man darīt, izslēdzu ārā to funkciju vai ko tur, vienalga man rādas ( Protams restartēju apache ar! )

Fatal error: Call to undefined function get_magic_quotes_gpc() in C:\AppServ\www\inc\core.php on line 21

Link to comment
Share on other sites

if (function_exists('get_magic_quotes_gpc')) if (get_magic_quotes_gpc())

 

EDIT: droši vien pat var uzreiz vienā ifā

if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())

bet netestēju šito stuffu

 

EDIT2: yep tomēr tā var. vismaz uz neeksistējošas funkcijas "asdf" tā var ;)

 

EDIT3: ohh, to pašu taču var pārbaudīt vnk ar ini_get('magic_quotes_gpc')

Edited by 2easy
Link to comment
Share on other sites

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

Daļa no php.ini faila!

Link to comment
Share on other sites

tādā gadījumā vsp vari dzēst ārā šīs rindiņas, ja jau tas tāpat ir atslēgts (mūsdienās tas 99.9% gadījumos tā arī ir)

if (get_magic_quotes_gpc())

{

$string = stripslashes($string);

}

 

laikam tā secureString() funkcija ir ņemta no kkādiem aizvēsturiskiem php pirmssākumu laikiem ;)

Edited by 2easy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...