Jump to content
php.lv forumi

L4URO

Reģistrētie lietotāji
  • Content Count

    29
  • Joined

  • Last visited

About L4URO

  • Rank
    Māceklis
  1. L4URO

    CSFR

    šis ir domāts loginam
  2. L4URO

    CSFR

    paldies par atbildi !
  3. L4URO

    CSFR

    Tagad sapratu,kāpēc vajag unsetot sesiju,lai varetu generet jaunu tokenu un veidot jaunu sesiju,vai ne?
  4. L4URO

    CSFR

    čau,tauta tā tad re kur ir kods Token.php fails <?php class Token { public static function generate () { return Session::put(Config::get('session/token_name'),md5(uniqid())); } public static function check($token){ $tokenName=Config::get('session/token_name'); // no config faila paķer token_name ,token_name = token; if(Session::exists($tokenName) && $token === Session::get($tokenName)){ Session::delete($tokenName); return true; } return false; } } ?> Session.php <?php class Session{ public static function exists($name){ return (isset($_SESSION[$name])) ? true : false; } public static function put($name,$value){ return $_SESSION[$name] = $value; } public static function delete($name){ if(self::exists($name)){ unset($_SESSION[$name]); } } public static function get($name){ return $_SESSION[$name]; } } ?> <?php require_once 'core/init.php'; if(Input::exists()){ // parbauda vai kaut kas ir submitots (vai $_POST array nav tuksš) //echo Input::get('username'); if(Token::check(Input::get('token'))){ // metode,kas paņem token input fielda vērtību,tas būtu tas pats,kā $_POST['token']; echo "I RAN GUYS ! ! ! <br>"; KODS KODS KODS KODS } } ?> <form action="" method="post"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username" value="<?php echo escape(Input::get('username')); ?>" autocomplete="off"> </div> <input type="hidden" name="token" value="<?php echo Token::generate();?>"> <input type="submit" value="Register"> </form> Tā tad,cilvēks nevar submitot caur url. Es varu saprast secību,katru reizi,kad refrešo lapu tiek uzģenerēts jauns TOKENS un uztaisīta sesija ar vārdu token un vērtību ,kas ir vienāda ar to,kas tiek ģenerēts. Ja tiek uzspiesta poga mēs pārbaudām ,vai tokena vērtība,kas ir hidden input fieldā ir vienāda ar tokena vērtību,kas ir iestorota sesijā,ja tā ir tad mēs unsetojam sesiju. Es pareizi sapratu? Es pie koda pievienoju komentārus. ja ieiet caur google chrome "parbaudit elementu" un nomaina input fielda genereto tokenu un uzspiez submit,tad tas tokens nesakrit ar sesijas tokenu un nekas nenotiek -> sesija netiek dzēsta un mēs atgriežam false un kods,kas ir aiz if(Token::check(Input::get('token'))){ nedarbojas,jo mēs neatgriezām true Bet es nesaprotu,kā tas viss darbojas,ka nevar submitot no url un ir aizsardzība un vajag unsetot sesiju,ja tokens sakrit ar tokenu kas ir sesija,vai kāds var paskaidrot ? Paldies !
  5. jup,tukši arī ieiet POST arrayā,kad uzspiež submit array (size=4) //man ir 4 input fieldi 'username' => string '' (length=0) 'password' => string '' (length=0) 'password_again' => string '' (length=0) 'name' => string '' (length=0)
  6. ja man ir if(Input::exists()){ echo "yeaa"; } public static function exists($type = 'post'){ switch ($type) { case 'post': return (!empty($_POST)) ? true : false; break; case 'get': return (!empty($_GET)) ? true : false; break; default: return false; break; } } un tad man ir form ar vairakiem input fieldiem,ja pat es neko neaizpildu,bet uzspiezu submit pogu man uz ekrana izvada "yeaa"; ,bet kapec,ja es parbaudu vai $_POST vai $_GET masīvs (array) nav tukšs ,tad es atgriežu true un man darbojas viss iekšā if(Input::exists()){ } ???? tā tad sanāk,ka pēc submitošanas tukšums arī padara $_POST vai $_GET masīvus par netukšiem?
  7. ok,tam ari gribeju dzirdet apstiprinajumu :D
  8. ok,paldies,bet kaa ir ar sho? $user = DB::getInstance(); , tad $user praktiski ir vienāds ar $_instance mainīgo ? parejo es sapratu?
  9. Čau, Tā tad,cik saprotu,tad $_instance mainīgais DB klasē ir DB instance,kad funkcija tiek izsaukta,kam pieejamas visas DB klases funkcijas.Kad tiek izsaukts self::$_instance = new DB(); tad aiziet __constructor metode un $_instance tiek pievienots _pdo, tad šis mainīgais tiek atgriezts. Es pareizi tik tālu sapratu? Un tad,kad kādā mainīgajā raksta $user = DB::getInstance(); , tad $user praktiski ir vienāds ar $_instance mainīgo? Un ja raksta $user = DB::getInstance()->query(); ,tad query funkcija pieder $user mainigajam vai $_instance metodei? $user = DB::getInstance(); <?php class DB { private static $_instance = null; private $_pdo, $_query, $_error=false, $_results, $_count=0; private function __construct () { try { $this-> _pdo = new PDO('mysql:host='.Config::get('mysql/host').';dbname='.Config::get('mysql/db'),Config::get('mysql/username'),Config::get('mysql/password')); }catch(PDOException $e){ die($e->getMessage()); } } //singleton,the instance can be created only once public static function getInstance(){ if (!isset(self::$_instance)) { self::$_instance = new DB(); } return self::$_instance; } } Paldies ,ja kaut ko nesaprotat, tad prasat!
  10. tad cloudinary ir labākais variants,pagaidām ? es uploadoju bildi,tad tai ir links,es bildi no cloudinary savā lapā parādu lietotājam bildi un tad katru reizi mainu facebook share linka [images][0] vērtību ? <a href="http://www.facebook.com/sharer/sharer.php?s=100&p[url]=http://www.majaslapa.com&p[images][0]=http://res.cloudinary.com/cloudinary-pubnub-demo/image/upload/c_limit,h_600,w_600/v1385648097/hz6whk0bjd6vspgshmbv.png&p[title]=texttexttexttexttext!&p[summary]=texttexttexttexttext"></a> es sapratu domu?
  11. cilvēks aizpilda input fieldus tiek uztaisīta bilde,kura satur to,ko viņš rakstīja (tas glabājas mainīgajā,jo tur ir arī cita informācija) katrai bildei ir unikāls links un blakus ir facebook poga,uz kuras uzspiežot var sharot to bildi.
  12. čau,tā tad ja es tā gribu cilvēks aizpilda input fieldu - > tiek uzģenerēta bilde ar GD bibliotēku (tik tālu viss ir) , bet kā es varu uzģenerēt unikālu url uzģenerētajai bildei,lai tas parādas url vietā un to linku,uzspiezot uz pogas vai linka, varētu sharot facebooka un tad facebooka paraditos tā bilde. Man ir generate.php fails,kurš saņem caur sesiju datus(tas ir mainigais,kurš satur to ,ko ievada lietotājs un vēl manis pielikto tekstu) un uztaisa jpeg bildi,bet url pēc ģenerēšanas ir .../path/to/generate.php ,bet es laikam vajadzētu .../path/to/generate.php/randomlink/randomnumbers/blablabla.jpg un tad darīt visu kā iepriekš. Un submit man ir tikai failā,no kura nāk dati,bet generate.php izvada tikai bildi uz ekrāna. sharing funkciju var ietvert kaut vai tajā generate.php , būtu vispār labi ,ja varētu uzģenerēt bildi generate.php ,tad nosūtīt to uz failu,no kurienes nāk dati, un izvadīt uz ekrāna bildi (man tajā lapā,no kurienes nāk dati ir arī citas lietas) un url vietā ir tās ģenerētās bildes url (vai arī nav,bet blakus ir facebook poga uz kuras uzspiežot ir iespēja šērot to bildi),lai to varētu šērot,kad nokopē ģenerēto url un ar to url ieiet tad parādas tikai bilde. generate.php fails <?php session_start(); header('Content-type: image/jpeg'); if (isset($_SESSION['yourOwn'])) { $result = $_SESSION['yourOwn']; $email_lenght= strlen ($result); $font_size=4; $image_height = ImageFontHeight ($font_size); $image_width = ImageFontWidth ($font_size) * $email_lenght; $image = imagecreate($image_width, $image_height); imagecolorallocate($image, 255, 255, 255); $font_color = imagecolorallocate($image, 0, 0, 0); imagestring($image, $font_size, 0, 0, $result, $font_color); imagejpeg($image); unset($_SESSION['yourOwn']); imagedestroy($image); } ?> varbūt varat iedot tutorialus vai vienkārši paskaidrot loģiku,kā darīt. Ja ir neskaidrības,tad prasat. Būšu ļoti priecīgs,ja kāds var palīdzēt! Liels paldies jau iepriekš!
  13. strada,man ir ta ka to uzgenereto bildi atver jauna cilnee un tad es gribeju lai cilvekam ir iespeja ieseivot
×
×
  • Create New...