Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.


AD MOB

IPV6 IP adresa jak jí zjistit

IPV6 má jiný formát znaků a pokud se hlásíme na stránku pomocí IP tak navíc může být pokaždé jiná
i když dříve jsme měli pokaždé stejnou. Takže jak na to v php.
Získám IP adresu pomocí funkce:


function getip(){

if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
else $ip = UNKNOWN;
return $ip;

}

Získanou adresu definuji jako konstantu, ALE jen tu část začátku, které se shoduje z IP například s předešlého dne
a ta bude vždy stejná:


define("MY_IPV6","2b00:1027:904d:9e6z");


Tu část pak porovnávám při kontrole zda se jedná o mou adresu:


$ip = getip();
if( strpos($ip, MY_IPV6) !== false ){
// kdyz je moje IP provedu prihlaseni
}

74LW NO topic_id




AD

Další témata ....(Topics)


58

javascript Kopírování textu - zabránění | javascript-kopirovani-textu-zabraneni


Jak zabránit kopírování textu stránky v prohlížeči.


Do tagu body vložíme následující eventy:
oncontextmenu="return false" onmousedown="return false" onselectstart="return false" ondragstart="return false"

Tag body by mohl vypadat následovně:

<body oncontextmenu="return false" onmousedown="return false" onselectstart="return false" ondragstart="return false">
51

javascript Error reporting | javascript-error-reporting


Jak můžeme získat chyby na htm html stránce, které se projeví u uživatele v prohlížeči.
Ukážeme si příklad, který odešle zprávu o tom, že stránka je o 100px šiřší, jak uživatelova CLIENTAREA ( to, co vidí uživatel ze stránky) prohlížeče a také, že stránka nemá nastaven charset na UTF-8

Kód sestává ze javascriptu a php scriptu, který bude na serveru ukládat chybová hlášení.

Nejdříve javascript

Tento script vložíme až na konec htm html (nebo inc php šablony kde je ukončení ) stránky mezi tagy /body a /html



</body>
 <script type="text/javascript">
    var s = new String();
    var bUtf8 = false;
    var m = document.getElementsByTagName("META");
    for(var i = 0; i < m.length; i++){
        s = m[i].content;
        s = s.toLowerCase();
        var nP = s.indexOf('charset');
        var nPutf = s.indexOf('utf-8');
        if(nP != (-1) && nPutf != (-1))
            bUtf8 = true;
    }

var httpRequestMy;
var sIE = "", sFF = "";

var nClientW = (parseInt(document.body.clientWidth));    
var nScrollW  = (parseInt(document.body.scrollWidth)); 
var nRozdil = nScrollW - nClientW;
if(nRozdil > 100 || bUtf8 == false){
    // IE/zbytek sveta
    if (window.ActiveXObject) {
      httpRequestMy = new ActiveXObject("Microsoft.XMLHTTP");
    sIE = "-IExplorer-";
    } else {
      httpRequestMy = new XMLHttpRequest();
    sFF = "-Firefox-and-others-";    
    }

    var d = new Date();
    var url = "//myweb.com/stat/error.php?mess=<?php echo $_SERVER [SCRIPT_NAME];?>-pageWidth-" 
    + nScrollW.toString() + "---clientWidth-" + nClientW.toString() 
    + "-date-" + d.toDateString()+ "-" + d.toTimeString() + sFF + sIE;
    if(bUtf8 == false)
     url = "//myweb.com/stat/error.php?mess=<?php echo $_SERVER [SCRIPT_NAME];?>-UTF-8-false";
    httpRequestMy.open("GET", url, true);     
    httpRequestMy.onreadystatechange= function () {processRequest(); } ;
    httpRequestMy.send(null);     
  }
  else {     
    //alert(nRozdil);
  }

/****************/
function processRequest() {
  if (httpRequestMy.readyState == 4) {
    if(httpRequestMy.status == 200) {
      var response = httpRequestMy.responseText;
      if (response == 'EMPTY') {
        alert('empty');      
  }
      else { 
        //alert('OK');          
        }
      } 
    }
    else {
    
//       alert("Error page loading "
//         + httpRequestMy.status +":"+ httpRequestMy.statusText);
    }
  }
 
</script> 

</html>
 

error.php může obsahovat takový kód



<?php
 function vytvorNovyAzapisDoSouboru($fname, $poleVstup)
 { // BEGIN function vytvorNovyAzapisDoSouboru
 	    if(file_exists($fname))unlink($fname);
       $fp = fopen($fname, "a");    
    if (flock($fp, LOCK_EX)) { // do an exclusive lock
			foreach ($poleVstup as $key=>$value) {
      if(strlen($value)>5)
      fwrite($fp, $value."
"); // D, d M Y   	
   }
 
			flock($fp, LOCK_UN); // release the lock
		} else {
			echo "Couldn't lock the file !";
		}

		fclose($fp);
		chmod($fname, 0777);
 } // END function vytvorNovyAzapisDoSouboru 
  
$mess = $_GET['mess'];  
  $poleVstup = array();
  if(file_exists('err_mess.txt')){
    $poleVstup = file('err_mess.txt');
  }
  array_push($poleVstup, $mess);
  //print_r($poleVstup);
 vytvorNovyAzapisDoSouboru('err_mess.txt', $poleVstup); 
  
?>

54

Function exist javascript if typeof variable == function | function-exist-javascript


Kontrola v javascript zda funkce existuje

Check if a Javascript Function Exists or Is Defined.



      function myFunctionName() {
          alert('I am myFunctionName');
      }

      

          if (typeof myFunctionName == 'function') {
              myFunctionName();
          }   

24

PHP Uložení souboru LOCK | php-ulozeni-souboru-lock


Tato funkce smaže původní soubor a vytvoří nový.
Parametry jsou cesta k souboru a pole řádků.
Nakonec nastaví mod přístupu k souboru.

/**
 * Tato funkce smaže původní soubor a vytvoří nový.
 * Parametry jsou cesta k souboru a pole řádků.
 * Nakonec nastaví mod přístupu k souboru.   
 * 
 * @param string $fname 
 * @param array $poleVstup
 */  
function createNewFile($fname, $poleVstup)
{ // BEGIN function createNewFile
  if(file_exists($fname))unlink($fname);
  $fp = fopen($fname, "a");
  if (flock($fp, LOCK_EX)) { // do an exclusive lock
  	foreach ($poleVstup as $key=>$value) {
  		fwrite($fp, $value); //
  	}
  	flock($fp, LOCK_UN); // release the lock
  } else {
  	echo "Couldn't lock the file !";
  }
  fclose($fp);
  chmod($fname, 0777); // set CHMOD
} // END function createNewFile


/**
 *  fopen() modes
 */ 
r  Read                    
r+ Read and write, prepend 
w  Write, truncate         
w+ Read and write, truncate
a  Write, append           
a+ Read and write, append  






Od verze PHP 5.1.0 lze k uložení souboru se zámkem využít i funkci file_put_contents

přičemž flag bude mít hodnotu LOCK_EX


int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

$file = "test.txt";
$content = "Some text which will put into file";
file_put_contents($file, $content, LOCK_EX);
7

Notepad++ Ftp plugin setup | notepad-ftp-plugin-setup-id-297


Notepad++ Ftp plugin setup video tutorial.

**


Editace: 1413185465
Počet článků v kategorii: 74
Url:ipv6-ip-adresa-jak-ji-zjistit-id-752

AD
Share
Share
Tweet