Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
Igen, ez így egy elég erős randomot ad, de a crypt felesleges, attól nem lesz nehezebben kitalálható. Kérsz az openssl-től 32 random byte-ot, és ez már elég jó.
Két dologra figyelj oda: egyrészt az openssl nem mindenhol van bekapcsolva, másrészt ha a második paraméterben átadott változóban false-t kapsz vissza, akkor kriptográfiailag nem erős algoritmussal lett generálva a véletlen érték - bár ezzel nem igazán tudsz mit kezdeni, jó tudni. A php.net szerint ez elég ritka.
-
Soak
veterán
válasz Tele von Zsinór #10551 üzenetére
Azóta már végig gondoltam, hogy sok értelme nincsen . . Tudom mi a második paraméter, olvastam a php.net-et. Szerintem ha a 32 random byte-al egy user accountot feltörnek, ott jó esélyel user error volt (netcafeban bekapcsolta a funkciót vagy csak simán fertőzött a gépe).
Köszönöm mindkettőtöknek.
-
Soak
veterán
Ugye jól értem, hogy itt nekem nem kell escapelni vagy az értékekkel bármi mást csinálni?
$sql = $db->prepare('SELECT * FROM messages WHERE receiver_id = :id AND seen = 0 ');
$sql->execute(array(':id' => $id));
$result = $sql->fetchALL();
return $result; -
Soak
veterán
válasz Tele von Zsinór #10554 üzenetére
-
Lacces
őstag
Előzmény([jquery fórum]) itt a php fájl, ami elvileg generál:
Az a baj ezzel a php fájllal, hogy laptopon az ubuntura feltett alap apach2, php stb-vel megy, működik! Azt az eredményt produkálja, ami a jqeury-s linken van.
Viszont ahogy feltölttem, az atw-re vagy ide Akkor semmit nem ír ki. Semmi sem jelenik meg az oldalon.
Mittől lehet, hogy semmit sem kapok vissza ettől a php fájltól?Másik kérdés, hogy a laptopon, ez miért jó? (Ubuntu 12.04)
<?php
//$trackName='';
//$stationName='';
$dataArray = null;
$shoutcast_url = 'http://87.117.193.10:8000/';
error_reporting(0);
ini_set('user_agent', 'Mozilla');
header('Content-type: text/html; charset=utf-8');
$html = file_get_contents($shoutcast_url);
$dom = new domDocument;
$dom->loadHTML($html);
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item(3)->getElementsByTagName('tr');
foreach($rows as $row)
{
$cols = $row->getElementsByTagName('td');
if($cols->item(0)->nodeValue == 'Current Song: ')
{
//$trackName = $cols->item(1)->nodeValue;
$dataArray['track'] = $cols->item(1)->nodeValue;
}
if($cols->item(0)->nodeValue == 'Stream Title: ')
{
//$stationName = $cols->item(1)->nodeValue;
$dataArray['station'] = $cols->item(1)->nodeValue;
}
//echo $cols->item(0)->nodeValue;
//echo $cols->item(1)->nodeValue."<br>";
}
echo json_encode($dataArray);
//echo json_encode($trackName);
//echo json_encode($stationName);
?> -
Lacces
őstag
válasz PazsitZ #10557 üzenetére
Igen, az lehet. Így utána olvasva a témában.
Amúgy van másik eljárás is, amivel a fenti kódomnál amellyel egy oldal tartalmát betudom húzni? (feldolgozni).
Ezt a curlt próbáltam, na de inálam a legegyszerűbb példák sem működnek. Még ha másolom is a forráskódot. Nálam meghal... -
PazsitZ
addikt
válasz Lacces #10558 üzenetére
Az ingyenes oldalakon általában nics engedélyezve a távoli hozzáférés, a curl is tuti tiltva van.
Ami ingyenes és tudom ,hogy engedélyezve van a curl az a [link]Egyébként a curl sem bonyolult dolog, működnie kellene, legalább localban...
[ Szerkesztve ]
- http://pazsitz.hu -
-
Lacces
őstag
válasz PazsitZ #10559 üzenetére
Nálam például ez sem működik:
<?php
function curl_download($Url){
// is cURL installed yet?
if (!function_exists('curl_init')){
die('Sorry cURL is not installed!');
}
// OK cool - then let's create a new cURL resource handle
$ch = curl_init();
// Now set some options (most are optional)
// Set URL to download
curl_setopt($ch, CURLOPT_URL, $Url);
// Set a referer
curl_setopt($ch, CURLOPT_REFERER, "http://www.example.org/yay.htm");
// User agent
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
// Include header in result? (0 = yes, 1 = no)
curl_setopt($ch, CURLOPT_HEADER, 0);
// Should cURL return or print out the data? (true = return, false = print)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
// Download the given URL, and return output
$output = curl_exec($ch);
// Close the cURL resource, and free system resources
curl_close($ch);
return $output;
}
error_reporting(2);
print curl_download('http://www.example.org/');
?>Firefox nem jelenít meg, Chrome pedig csak egy laza server_error-t dob...
-
Sk8erPeter
nagyúr
válasz Lacces #10560 üzenetére
Azért nem működik, mert be kell tenned még ezt:
// This will make cURL follow the redirects (@see http://stackoverflow.com/questions/6028050/curl-returntransfer-is-empty-curl-getinfo-error-1)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);Tehát a teljes függvény:
/**
* Download a website or any other file using cURL
*
* @see http://www.jonasjohn.de/snippets/php/curl-example.htm
* @see http://stackoverflow.com/questions/6028050/curl-returntransfer-is-empty-curl-getinfo-error-1
*
* @param string $Url
* @return string
*/
function curl_download($Url){
// is cURL installed yet?
if (!function_exists('curl_init')){
die('Sorry cURL is not installed!');
}
// OK cool - then let's create a new cURL resource handle
$ch = curl_init();
// Now set some options (most are optional)
// Set URL to download
curl_setopt($ch, CURLOPT_URL, $Url);
// This will make cURL follow the redirects (@see http://stackoverflow.com/questions/6028050/curl-returntransfer-is-empty-curl-getinfo-error-1)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// Set a referer
curl_setopt($ch, CURLOPT_REFERER, "http://www.example.org/yay.htm");
// User agent
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
// Include header in result? (0 = yes, 1 = no)
curl_setopt($ch, CURLOPT_HEADER, 0);
// Should cURL return or print out the data? (true = return, false = print)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
// Download the given URL, and return output
$output = curl_exec($ch);
// Close the cURL resource, and free system resources
curl_close($ch);
return $output;
}Teszt:
$curl_download = curl_download('http://www.example.org/');
echo $curl_download;[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Lacces #10556 üzenetére
Ha egy fájlban csak és kizárólag PHP-kód van, akkor sose zárd le ezzel a résszel: ?>. Lásd ezt.
"The closing tag of a PHP block at the end of a file is optional, and in some cases omitting it is helpful when using include or require, so unwanted whitespace will not occur at the end of files, and you will still be able to add headers to the response later. It is also handy if you use output buffering, and would not like to see added unwanted whitespace at the end of the parts generated by the included files."
Ez persze az érdemi kérdésen nem változtat, csak jótanács.ini_set('user_agent', 'Mozilla');
Nincs olyan valid user agent, ami csak úgy simán azzal egyenlő, hogy "Mozilla"!Az érdemi részre meg már látom, PazsitZ leírta a választ, allow_url_fopen nincs engedélyezve a szerveren, amivel próbálkozol, anélkül meg nem megy.
Sk8erPeter
-
DeltaPower
őstag
válasz Sk8erPeter #10562 üzenetére
Az ini_set is gyanús, sok ingyenes tárhelyen tiltják.
"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
Lacces
őstag
válasz Sk8erPeter #10562 üzenetére
Köszi a jó tanácsokat.
A curl érdekes, ahogy azt a sort hozzáadtam, már akkor kiírta, hogy nincs curl telepítve... de csak akkor. Azután babán működik, localhoston.
Hoston nem (ami Pazsit is javasolt), mert kiaakadt attól az egy sortól.
$ch = curl_init("http://87.117.193.10:8000/");
curl_setopt($ch, CURLOPT_HEADER, 0);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
Ezzel meg pont az a bajom, hogy mindenképp kinyomja a curl_exec() a tartalmat. De mind1. Hiába van ott az echo $html; - az csak egy '1'-est rak ki.A host meg nem nyeli le a következőt:
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");Pedig ez localon működik és kell is.
No így jártam
DeltaPower Igen, az iniset, amit nem csípáznak a szerverek.
-
Lacces
őstag
válasz Lacces #10564 üzenetére
A másik bajom, hogy a hostnál az a baj: 'http://www.google.com/' ezeket a címeket képes lekérdezni, de ami van az előzőnél is, hogy 'http://87.117.193.10:8000/' shoutcast infókat akarok lekérni, akkor semmi. Mintha a UserAgent nem működne a hostoknál, localhoston okés.
-
Sk8erPeter
nagyúr
válasz Lacces #10564 üzenetére
Röviden: felejtsd el a fostalicska ingyenes szervereket. Ma már olyan olcsón lehet kapni tárhelyeket, meg domaint, hogy felesleges szopatnod magad ezekkel.
Szerintem a user agent tök mindegy az URL tartalmának lekérésekor ebben az esetben.
De ha hibába fut valamiért az állítgatás, akkor lehet parád az ingyenes szerókon."Ezzel meg pont az a bajom, hogy mindenképp kinyomja a curl_exec() a tartalmat."
Nem értem, most miért nem volt jó az a függvény, amit éppen Te másoltál be az előbb, és amihez még hozzáfűztem plusz két sort.
Itt volt benne erre a megoldás:// Should cURL return or print out the data? (true = return, false = print)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);Sk8erPeter
-
Lacces
őstag
válasz Sk8erPeter #10566 üzenetére
jah, majd bérlés lesz belőle, most localon jó. Többivel tényleg nem csesztettem magam.
Igen, utána azt a sort én is próbáltam amit írtál. Csak a sorrend nem volt nálam mind1. közvetlenül az execute elé kellett raknom.
De most működik minden babán localon és ez a lényeg. Köszi a segítséget!
-
biker
nagyúr
nyűglődök kicsit swiftmailerrel.
A bajom, hogy "eddig jó volt" most meg rendre leáll, semmi hibaüzenet, leáll a futás.
van egy webshop, ugyanezen serveren, elküldök 1200 levelet, 5 után 5, 20 után 20mp szünet körbe körbe, ne ugráljon a server
frankóugyanitt egy másik cég, 40-60 küldés után leáll a futás.
legfrisebb swiftmailert próbáltam, de az meg ugyanazon iso-8859-2 kódolásokkal eldobálja az ékezetes karaktereketmit javasoltok helyette, saját smtp userrel küldenék ki maileket
[ Szerkesztve ]
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Sk8erPeter
nagyúr
Én PHPMailert szoktam használni.
Ha meghatározod a karakterkódolást, ahogy itt látható, akkor is probléma van az ékezetekkel?// Approach 1: Change the global setting (suggested)
Swift_Preferences::getInstance()->setCharset('iso-8859-2');
..........(lásd még a többi approach-ot is)
Ez a "leáll a futás" tényleg elég megfoghatatlan, így nyugodtan elképzelhető, hogy más levelezőosztály használhatával is le fog állni...
Sk8erPeter
-
biker
nagyúr
válasz Sk8erPeter #10570 üzenetére
igen, természetesen benne van a setCharset
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
biker
nagyúr
válasz Tele von Zsinór #10572 üzenetére
Ezaz, semmi. Errors.log üres, smtp server naplot meg nem kaptam meg, hogy az hisztizik vagy mi
A swiftmailer se kuld exceptiont ami furaElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Lacces
őstag
Szívatom magam regexel
Ezt akarom vizsgálni
$http=http://205.188.215.229:8008
Ez a kifejezés miért nem jó?
preg_match("/^(http:\/\/)[^A-Za-z]/",$http) -
-
Sk8erPeter
nagyúr
válasz Lacces #10574 üzenetére
A reguláris kifejezésedben látsz számokat?
/^http:\/\/[A-Za-z0-9\.:]+/
Így stimmelne, de ez a kifejezés sem jó még önmagában semmire, csak arra, hogy valamennyire korlátoztad, hogy ezek a karakterek lehetnek benne, tehát ezen a teszten még egy http://9: is átmenne.Amúgy itt van egy online tester, ha érdekel.
Sk8erPeter
-
-
Korcsii
őstag
válasz burgatshow #10579 üzenetére
Aztán jön az IPv6, és jól bekever.
-
Lacces
őstag
válasz burgatshow #10579 üzenetére
köszi, ez jó
-
Robaj
addikt
Lehet, az a gond, hogy a futási idő korlátozva van.
Némelyiknél 15mp-ig futhat 1-1 php program.
Phpinfo-val nézd meg a max_execution_time értékét.Ha ez alacsony, pl. 15-30 mp, akkor próbáld megnöveltetni szolgáltatóval, ha nem megy, akkor érdemes kitapasztalni, mennyi email megy ki (írtad 400 db), és úgy módosítani a programot, hogy 1 futtatás során ennél valamennyivel kevesebbet küldjön ki (jelen esetben pl. 300 db), majd cronban beállítani, h. pl. 5 percenként futtassa le a progit.
Másik megoldás, ha header-rel átirányítod, ekkor újraindul a time limit, azonban paraméternek megadod, hogy 300-tól kezdje a küldés, 600-nál meg újra header. -
biker
nagyúr
már érg 60mp ini_time_set
és 4000emailt is ki tud küldeni ugyanez a script, eddig ennyi volt a csúcs teszt. minden küldés után kiíratom az emailcímet a usernek, ezzel ugye küldésenként 60mp, mivel minden echoval reseteli az időkorlátot, hiszen van válasz
ha nem tenném, lejárna a limitElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Soak
veterán
Sziasztok !
Több helyen olvastam már a probléma létezéséről, de nem sikerült még megoldást találnom ami működik nekem. Biztos találkoztatok már vele :
Ezt szeretném :
$sql = 'SELECT * FROM photographs WHERE users_id = :id LIMIT :per_page OFFSET :pagination';
Így nem megy -üres array-t ad vissza- :
$query = $db->prepare($sql);
$result_set = $query->execute(array(':page' => $page,':per_page' => $per_page, ':pagination' => $pagination));Ha jól értem akkor a PDO string-nek veszi az integereket . Probáltam bindParamm-al ,de nem ment.
-
sztanozs
veterán
Reasons to strongly type parameters in PDO? - első válasz...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Lacces
őstag
Esetleg ez? Nekem nem tetszik az utolsó sorod A bindparamot javaslom a típusok miatt is. Szerintem jó az ha felvan tüntetve a típus
$id= 150;
$per_page= '120';
$pagination = '10';
$sth = $dbh->prepare('SELECT *
FROM photographs
WHERE users_id =:id LIMIT :per_page OFFSET :pagination);
$sth->bindParam(':id', $id, PDO::PARAM_INT);
$sth->bindParam(':per_page', $per_page, PDO::PARAM_INT);
$sth->bindParam(':pagination', $pagination, PDO::PARAM_INT);
$sth->execute();PDO::PARAM_INT --- Integer típus. Ha meg stringről van szó, akkor meg PDO::PARAM_STR
[ Szerkesztve ]
-
burgatshow
veterán
Ha a :változókat lecseréled kérdőjelre, utána meg a tömbben csak a megfelelő sorrendben felsorolod az értékeket akkor sem jó?
Pl.:
$sql = 'SELECT * FROM photographs WHERE users_id = ? LIMIT ? OFFSET ?';
$query = $db->prepare($sql);
$result_set = $query->execute(array($page, $per_page, $pagination));Mod: vagy ötvözve Lacces megoldásával.
[ Szerkesztve ]
-
Lacces
őstag
Csak nekem fura, új az az query-zés , én év elején tanultam a php-t és azt láttam neten és új könyvekben is inkább az-az megoldás, amit én írtam. Nem kötekedésből írtam, elnézést ha az volt. Szal nekem csak ezért volt fura, még sosem láttam . Elnézést kérek ha félreérthető voltam
t|-|om! Nálad a pont, bemutattam egy olyan példát, amit nem szabad elkövetni... a rossz szokás hatalma itt a melóhelyen, átveszem a rossz kódolást, mindig más rendszerébe kell belenyúlni. Tudom nem kifogás, de jó hogy szóltál, mert rám ragad
-
Soak
veterán
-
Lacces
őstag
"Ahány ember, annyi féle" - pont ez a legrosszabb benne Mikor 5 éves kódba kell beleírnod, semmi Joinolás nincs a query-kben stb. Én menekülök...
Biztos hogy van eredmény a query lefutása után? phpmyadmin (vagy mysql-ben) a query lefutása után van ott visszaadott sor?
csinálj egy die($query) - vagy $sql, amiben van a "SELECT * FROM..." és azt kell megnézni mysql-ben is.
[ Szerkesztve ]
-
Soak
veterán
-
Soak
veterán
válasz burgatshow #10597 üzenetére
Attól az még eredmény. Más kérdés, hogy még nem az amit szeretnék.
-
sztanozs
veterán
-
Soak
veterán
válasz sztanozs #10599 üzenetére
public static function pagination_photograph($sql="",$id,$per_page,$pagination) {
global $db;
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false );
$query = $db->prepare($sql);
$result_set = $query->execute(array($id,$per_page,$pagination));
$object_array = array();
while ($row = $query->fetch($result_set)) {
$object_array[] = self::instantiate($row);
}
return $object_array;
}
private static function instantiate($record) {
$object = new self;
foreach($record as $attribute=>$value){
if($object->has_attribute($attribute)) {
$object->$attribute = $value;
}
}Ha csak simán mondjuk users_id-ra keresek akkor minden tökéletesen működik.
Új hozzászólás Aktív témák
- Ej-Ha! Lenovo ThinkPad P53s Szép Home & Business Laptop -70% 15,6" i7-8665U 16/512 Quadro P520 2GB
- Új Lenovo ideapad 5 Pro Prémium Ultrabook 14" -30% Bivaly Ryzen 5 5600U 8GB 512GB 2,2K RADEON 2GB!!
- iPhone 13, 128GB, starlight, kártyafüggetlen, 88% akku
- Tyű-ha Lenovo Thinkpad T15 "Golyóálló" Üzleti Laptop 15,6" -50% i7-10510U 4Mag 32GB/512GB FHD IPS
- Új 2K AM5 Gamer PC R5 7600/RTX 3070 8Gb/2X8Gb 6000Mhz DDR5/500Gb SSD M2/700W 2Év gari
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen