Jump to content
php.lv forumi

Help.


*jancis38*

Recommended Posts

Tātad ir šāds php banošanas skripts:

<?php
function is_baned($ip)
{
$fails =file("bans.txt");
$cik=count($fails);
$separat = "|";
for($i=0; $i<$cik; $i++)
{
$saturs = substr($fails[$i], 0, strpos($fails[$i],$separat));
if($ip == $saturs)return true;
}
return false;
}
if (getenv('HTTP_X_FORWARDED_FOR'))$ip = getenv('HTTP_X_FORWARDED_FOR');
else $ip = getenv('REMOTE_ADDR');

if(is_baned($ip)) exit;
?>

iekš bans.txt ir lietotāju IP adreses. ;)

kad kāds tiek nobanots, viņam rādas balta lapa!

kā var izdarīt lai viņš includo kādu *.php failu?

mēģināju šādi:

if(is_baned($ip)) include('index.php'); exit;

tikai diemžēl izmetās šāds errors:

Fatal error: Cannot redeclare is_baned() (previously declared in C:\Web\www\inc\bans\bans.php:2) in C:\Web\www\inc\bans\bans.php on line 13

Link to comment
Share on other sites

Nu katraa zinjaa probleema ir tur, ka tu kaut kaa pamanies divreiz defineet fju. Vai nu tu inkludo kaadu failu dubultaa, vai kaa, bet tas ir fakts. Mekle.

 

PS. Saac vienreiz posteet normaalus topiku nosaukumus. Cik tad var shitos "Help plz" ?

Link to comment
Share on other sites

PHP.ini iesledz error reprtingu !!!!

 

sadalja:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Error handling and logging ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

atkomentee

error_reporting = E_ALL & ~E_NOTICE

un

display_errors = On

----------

Savaadaak lielaa skriptaa kljuudu mekleesi liidz pastardienai......

Link to comment
Share on other sites

pavisam exotiskā gadījumā var darīt šādi:

if(function_exists('<funkcijas_nosaukums>') == false) 
{
 function <funkcijas_nosaukums>()
 {

 }
}

 

bet labāk tomēr sakārtot, lai nekas netiek lieki inclūdots.

Link to comment
Share on other sites

include_once vai require_once

Link to comment
Share on other sites

Kapec neizmantot sho iespeju, ja tada eksiste, toties 100% parlieciba ka fails divreizs netiks ieklauts.

 

ps. Uzreizs var redzet, kas ir programmetajs, kas koders.

Edited by cucumber
Link to comment
Share on other sites

Nu, reizēm noderēt var, bet ja kodā īsti nevar zināt vai fails tiks divas reizes iekļauts vai nē, tad tas vairāk runā par paša koda struktūras (ne)kvalitāti. Tāpēc labāk ir safiksot sistēmu nevis izmantot šādus hack-around.

 

Uzreizs var redzet, kas ir programmetajs, kas koders.

Un kurš tad ir programmētājs, un kurš koderis ? Un kāda atšķirība ? :)

Edited by andrisp
Link to comment
Share on other sites

Koders - "Ar šo terminu apzīmē arī automātisku vai pusautomātisku ierīci programmu un datu kodēšanai, lai tos ievadītu datorā.",respektivi, cilveks, kas vienkarshi vada datus (gatavu kodu).

 

Programmetajs - "Cilvēks, kurš projektē, raksta un pārbauda datora programmas.",respektivi, cilveks, kas izdoma pashu programmu, to algoritmu un strukturu. Programmetajs var pateikt koderim, kas vinam ir jadara pa punktiem un koderis ka robots to daris.

Edited by cucumber
Link to comment
Share on other sites

Pret sliktu koda dizainu (uzbūvi) nekādi haki nepalīdzēs. Agrāk vai vēlāk kods paliks ļoti grūti saprotams un uzturams. Haki tikai dos īslaicīgu pārliecību, ka viss "strādā".

Link to comment
Share on other sites

×
×
  • Create New...