Inlägg

Inlägg som jreklund har skrivit i forumet
Av jreklund

Du kan använda instruktionerna från den här guiden.
https://www.cyberciti.biz/tips/how-do-i-enable-remote-access-...

Av jreklund

Det du söker är "php open source social network"/"php open source online community".
https://www.humhub.org
https://www.opensource-socialnetwork.org/
https://www.oxwall.com/
https://buddypress.org/ (Wordpress)
https://elgg.org
etc...

Ska du göra något storlaget som VK/Facebook så är det bara börja från noll, om man inte bortser från något ramverk då. Men det är extremt kostsamt.

Av jreklund

Använder du standardtemat prosilver? Den fungerar så som du önskar direkt efter installation. Inga inställningar behöver göras. Annars kan du kopiera över den här koden inuti ditt temats overall_header.html.

styles\prosilver\template\overall_header.html

<title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title>

Av jreklund

Utan någon form av kod eller demo så kan jag bara tipsa om att tömma cachen inuti phpbb.
https://www.phpbb.com/support/docs/en/3.0/kb/article/purging-...

Av jreklund

Följande felmeddelanden får man på https://www.inet.se/

Uncaught TypeError: Cannot read property 'addEventListener' of null at window.onload (popup.js:146)

När man bläddrar runt på https://www.inet.se/kategori/48/datorlada-chassi

popup.js:152 Uncaught TypeError: Cannot read property 'href' of null at popup.js:152

Returnerar 0:- på följande produkt.
https://www.inet.se/produkt/6100393/razer-vespula-v2

Nu vet jag inte hur många produkter som har - mellan ett riktigt namn, men du kanske bör leta efter sista - : | istället för att plocka första.

Nu har jag inte kontrollerat alla andra plugins som jag använder, men känns lite sisodär att alla klick registreras inuti Google Analytics.

Av jreklund

Har personligen inte läst avtalet med Google Analytics, men jag använder den på alla hemsidor. Det finns som sagt enkla tillägg till Wordpress. Annars lägger man till det med Javascript.

Du kan ju alltid hosta din egen "Google Analytics" med hjälp av Piwik, ifall du inte vill att storebror ser dig. Den stödjer följande tracking metoder:
https://developer.piwik.org/guides/tracking-api-clients

Jag antar att din host tog bort någon gammal Awstats som de inte uppdaterat på evigheter. Den skannar av access loggen för att generera statistik och det fanns väl någon säkerhetshål i den. Men om du inte har åtkomst till rena access loggar måste du använda klientbaserade verktyg och inte serverbaserade.

Av jreklund

Github har utmärkta guider för nybörjare, du finner dem här:
https://guides.github.com/

Skulle börja i följande ordning:
1. Getting your project on GitHub
2. Hello World
3. Mastering Markdown
4. Mastering Issues

Av jreklund

Just det här med Outlook och Gmail skräppost är inte kul. Har en egen IP-adress (jobbet) och lagt till både korrekt SPF och DKIM, som Outlook/Gmail bekräftar är rätt.

Så det är inte "bara" att få OK på båda dem så är det klappat och klart tyvärr. Har fortfarande inte löst den punkten. Enda som fungerar är för användare att trycka på "Icke skräppost", sen hamnar man inte där längre...

För att kontrollera om dina är OK högerklickar du på mejlet och väljer "Visa meddelandekällan" (Outlook). Därefter söker du efter spf= och dkim=, vissa har även dmarc=.

Av jreklund

@Dreijer: Det togs bort för ~3 år sedan.

Du kan prova trixen här:
https://raywoodcockslatest.wordpress.com/2016/06/12/ways-to-a...

Av jreklund

#17076879: Fungerar lika bra med "/@([\w]{4,15})/u", för åäö är inkluderat inuti utf-8.
#17076898: Självklart måste man hitta sin standard. Jag kör bara med punkter som skiljetecken (och - _ förstås), för att efterlikna vanliga e-postkombinationer/AD-konton.
#17076975: Tack för tipset, alltid lär man sig något nytt. Inte tänkt på att det ligger fler tecken emellan a-ö än a-zåäö. Jag kör dock alltid a-z. Lever lite i den gamla skolan att endast de tecknen "finns" på nätet. Speciellt när man ska använda dem i URLer.

Av jreklund
Skrivet av BrutalSwede:

Sen beror det väl också på hur man vill att den ska hantera andra skiljetecken som kan dyka upp i en sträng, t.ex om det kommer flera @.

Den biten tänkte jag inte på.

@Pelle:
Personligen tycker jag följande bör lösa alla problem.
Den ignorerar å-ö då den skulle användas inuti en URL. Den accepterar . _ - inuti användarnamnen, så att man kan döpa sig till fornamn.efternamn. Den hoppar även över den sista . ! (etc...), det vill säga allt som inte är en bokstav.
Jag valde just nu att ha minimum 4 tecken och inget slut, men har du max 15 får du såklart lägga in det.
https://regex101.com/r/paN8sq/3

Facebook kör med . i mellan namnen. Här på Sweclockers fungerar det dock inte. De stödjer dock å-ö (och utf-8). Så det är ju en smaksak...
@fornamn.efternamn.
@fornamn-efternamn.
@förnamn-efternam.
@förnamn_efternam.
@fo漢語namn

Sweclockers varianten (med 4 minimum tecken):
https://regex101.com/r/paN8sq/5

Facebook varianten (med 5 minimum tecken):
https://regex101.com/r/paN8sq/6
https://www.facebook.com/help/105399436216001
Facebook tar även bort punkterna från användarnamnen, då de bara finns där för att göra en snyggare separation.

Av jreklund

Den här tar a-ö. Och hoppar över @.

/@([a-ö0-9_-]{4,15})/i

Av jreklund

@BrutalSwede: Den är 6 steg långsammare, annars är det ingen skillnad.

EDIT: Missade att du hade en capture group. Därför 6 steg extra. Annars ingen skillnad.

Av jreklund

Matchar hur många tecken som helst innan . ! (mellanslag)
https://regex101.com/r/hZJwOS/1
Matchar 4-15 tecken som innan . ! (mellanslag)
https://regex101.com/r/paN8sq/1

Jag har lagt på /g för att jag skulle kunna visa exempel på flera rader.

Av jreklund

Jag kör Malwarebytes fullt ut hemma, köpte programvaran när den var i 1.5 och då inkluderade dem inte t.ex. Exploit Protection. Det var på gamla goda tiden när man fick en "Lifetime"-license.

Under 2.0 tiden kombinerade jag Malwarebytes och Avira (gratis varianten), som nu åkt bort.

Nu kör jag Malwarebytes 3.2 och CryptoPrevent.

De erbjuder nu även andra små trevliga program som de köpt upp/varvat programmerarna. De programmen finns under "For technicians" här:
https://www.malwarebytes.com/products/

De programmen jag tänker på är Malwarebytes AdwCleaner och Junkware Removal Tool by Malwarebytes. Underbara program för att rensa bort skit från kunddatorer. De (Malwarebytes) hittar inte alltid samma, som dessa fristående gör.*

* Baserat på tester utfört under tidig 3.0 tiden. Inte testat med sena 3.1 och nu 3.2.

Av jreklund

Skillnaden mellan att skicka något som GET och POST är hur man öppnar formuläret.

<form action="URL" method="get">

<form action="URL" method="post">

Inuti form taggen placerar man CSRF token:

<form action="URL" method="post"> <input type="hidden" name="csrf_token_name" value="ajudiasdjsaidsaud8da878"> ... </form>

Går självklart att använda med GET också, om ni nu använder <a> taggar för att "Lägga till i kundkorgen". Det ser dock väldigt fult ut.

<a href="produkter.php?action=add&csrf_token_name=ajudiasdjsaidsaud8da878">Lägg till i kundkorgen</a>

<form action="URL" method="get"> <input type="hidden" name="csrf_token_name" value="ajudiasdjsaidsaud8da878"> ... </form>

Ni hämtar sedan csrf_token_name med hjälp utav $_GET eller $_POST och validerar den.

$valid = isset($_GET['csrf_token_name'], $_SESSION['csrf_token_name']) && hash_equals($_GET['csrf_token_name'], $_SESSION['csrf_token_name']); $valid = isset($_POST['csrf_token_name'], $_SESSION['csrf_token_name']) && hash_equals($_POST['csrf_token_name'], $_SESSION['csrf_token_name']);

Själva token måste genereras på ett säkert sätt och kan göras tillsammans med följande. (Codeigniter)

/** * Get random bytes * * @param int $length Output length * @return string */ public function get_random_bytes($length) { if (empty($length) OR ! ctype_digit((string) $length)) { return FALSE; } if (function_exists('random_bytes')) { try { // The cast is required to avoid TypeError return random_bytes((int) $length); } catch (Exception $e) { // If random_bytes() can't do the job, we can't either ... // There's no point in using fallbacks. log_message('error', $e->getMessage()); return FALSE; } } // Unfortunately, none of the following PRNGs is guaranteed to exist ... if (defined('MCRYPT_DEV_URANDOM') && ($output = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM)) !== FALSE) { return $output; } if (is_readable('/dev/urandom') && ($fp = fopen('/dev/urandom', 'rb')) !== FALSE) { // Try not to waste entropy ... is_php('5.4') && stream_set_chunk_size($fp, $length); $output = fread($fp, $length); fclose($fp); if ($output !== FALSE) { return $output; } } if (function_exists('openssl_random_pseudo_bytes')) { return openssl_random_pseudo_bytes($length); } return FALSE; }

Och används såhär:

$rand = $this->get_random_bytes(16); $rand = ($rand === FALSE) ? md5(uniqid(mt_rand(), TRUE)) : bin2hex($rand); $_SESSION['csrf_token_name'] = $rand;

Har ni mycket AJAX på sidan eller inte vill smutsa ner era formulär/länkar så är det Set-Cookie istället som gäller. Då jQuery m.m kan hämta upp den. Sätts med hjälp av setcookie() på alla sidor. http://php.net/manual/en/function.setcookie.php
Då behöver man ändra lite på $valid som jag skrev ovan, från $_SESSION till $_COOKIE.

Set-Cookie:csrf_token_name=ajudiasdjsaidsaud8da878; path=/; httponly

Av jreklund

Hej,

Först skulle jag rekommendera att du läser den långa, tråkiga, men informativa wikin från owasp.
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(C...

TLDR:
1. Inga XSS hål får finnas
2. Kontrollera Origin Header/Referer Header
3. Kontrollera CSRF token

De har själva släppt ett PHP bibliotek som löser följande problem:
https://github.com/mebjas/CSRF-Protector-PHP

Om du bygger din hemsida på ett ramverk, rekommenderar jag att du aktiverar CSRF den vägen istället. Alternativt kan man alltid låna mekaniken från ett ramverk t.ex. Codeigniter*.

* Använder sig utav $_COOKIE istället för $_SESSION, för att lättare plockas upp utav Javascript.

Grundera:
1. Skapa en unik token inuti din $_SESSION
2. Lägg in den i din form[POST]
3. Validera om de stämmer

Använder du Ajax för att spara information, behöver du säkra upp även den.

Av jreklund

@Biberu: Det gör jag inte, men i.o.m. att ni pekar om https://www.sweclockers.se till https://www.sweclockers.com så trodde jag det var en miss bara. Är lite jobbig bara, jag vet.

Av jreklund

Hej, tyvärr missades följande sidor:
https://sweclockers.se/
https://www.swec.com/
https://swec.com/

Av jreklund

Har inget tips på lösning, men anledningen till att du har problemet är att de använder din Norska IP-address och slår upp din Geo-location. Och använder den informationen istället för webbläsarens "Accept-Language".
Vilket är väldigt irriterande, då du som användare inte får välja.