Posts by MiCa-

    Wat eigenlijk echt een slecht argument is, want die programmeurs (en jij) van die projecten weten donders goed dat die functies deprecated zijn dus ook aan vervanging toe zijn en dat is absoluut niet moeilijk om te doen.
    Zoals @FangorN zei:


    De volgende functies zijn deprecated en verwijderd uit PHP7.

    Ik weet donders goed dat die functies niet deprecated zijn zolang wij zelf kiezen welke PHP versie we gebruiken ;)
    Ook zitten we met ons bedrijf met meer dan 300 websites van de 400 die nog oude mysql functies gebruiken.


    Zou jij het zien zitten al die websites om te bouwen?
    Wij dus ook niet ;)

    Uhm, dat staat niet op voorhand vast. Indien de getoonde informatie na aanroep van die link niet voor iedereen is bedoeld zul je wel degelijk enige controles in moeten bouwen...

    Ook dit is niet helemaal volledig. Ten eerste zou je je input moeten filteren, als $_GET['online'] niet bestaat of niet het juiste formaat heeft hoe je de query niet eens uit te voeren.

    Indien je nog standaard mysql gebruikt moet je als de sodem... wiedeweerga overstappen op MySQLi of PDO. Zeker als je bezig bent met het schrijven van nieuwe code. Dan code schrijven die via mysql_-functies interactie heeft met je database staat bijna gelijk aan tijdsverspilling omdat deze functies al ~10 uitgerangeerd zijn en binnenkort voorgoed verdwijnen (PHP7 heeft ze niet meer geloof ik).

    Mee eens hoor ;)
    Maar client side code tonen / verbergen a.h.v. een variabele noem ik niet persee beveiligen. Je kan als het ware ook zelf de URL invoeren zonder dat je hem kan zien op de website.. Dus het blijft zeer belangerijk om server-side deze toepassingen te gaan beveiligen.


    Overigens zie ik nog heel veel projecten (waar ik help of verbeter) die de oude mysql fncties gebruiken, en ik denk niet dat al die projecten de enige zijn op het web..
    Het is inderdaad ten zeerste aangeraden om over te schakelen naar mysqli of PDO, maar voor heel grote projecten kan dit zeer lastig worden. Deze blijven dan dus ook draaien op een PHP versie die mysql_ nog ondersteunt. ;)


    Maar zowizo vroeg of laat zal het moeten, en dan zullen de meeste telaat zijn zoals gewoonlijk..

    Hoeft niet beveiligd te worden..


    Enige wat je moet beveiligen is je server side code, daar moet je dus volgende paramater: ?online= Netjes gaan escapen indien je a.h.v. deze paramater een database interactie doet.


    Indien je standaard mysql gebruikt kan je de functie: mysql_real_escape_string($_GET['online']); gaan gebruiken.
    Indien je mysqli of PDO gebruikt dan hoef je enkel deze parameter te binden in je querie (voorbeelden genoeg online)


    Veel success!

    Ajax form
    Dan hoef je dus enkel de server side validatie te doen (via PHP) en een message doorspelen naar de view aan de hand van een ajax request ;)


    Zo kan je een form Ajax gestuurd a.h.v. de laatste stabiele jquery library 'submitten'
    Attributen mee te geven aan je form object:
    - action : Welke URI ?
    - method : POST / GET / PUT / DELETE?
    - data-response : Voorbeeld: #login-response (Dan in je tree een <div id="login-response"></div>) Ook mogelijk met classes voorbeeld: .login-response en (Dan in je tree <div class='login-response'></div>) Werken met ID is meer aangeraden aangezien je van elke ID maar 1 object zou mogen hebben in je HTML tree, het is uiteraard de bedoeling dat maar 1 response object word aangepast ;)
    - formData: zorg ervoor dat alle inputs aanwezig in de form correct zijn en dit word netjes in de juiste array gestopt a.h.v. de jquery functie serializeArray() deze waarden worden dan meegespeelt naar je action script onder $_POST['key'] = waarde Indien je GET, PUT of DELETE gaat gebruiken zal dit dus ook veranderen naar $_GET, $_PUT of $_DELETE.


    EN de HTML:



    Code
    <div id="ajaxResponse"></div>
    <form action="pad/naar/script.php" method="POST" data-response="#ajaxResponse" class="ajaxForm">
      <input type="text" name="username"/>
      <input type="submit" name="submit" value="Doe!"/>
    </form>

    Voorbeeld van hoe je form er zou uitzien, de attributen van je form zijn hier belangrijk indien je bovenstaande jQuery code wilt gaan gebruiken.
    Ook je response object voorzien in je tree om een error of succes bericht door te spelen naar de gebruiker.


    Deze code zal dus letterlijk een ajax request maken naar de meegegeven action URI met alle input aanwezig in je form.
    In je action script kan je de nodige validatie uitvoeren en een action message genereren om mee te geven aan je view side.
    De response bij deze ajax call zal in het object geplaatst worden die jij meespeelt in het attribuut data-response in je form tag. (Zie data response voorbeeld hierboven)


    Om te testen kan je dus in je action script <?PHP var_dump($_POST); ?> plaatsen en zo zul je een array van variabelen zien verschijnen na het submitten van je form, zorg er dus voor dat je data response object aanwezig is in je HTML tree ;)


    Met bovenstaande jQuery code kan je dus niet enkel 1 form maar alle forms naar wens via ajax laten verlopen!
    Enige wat je moet doen is zorgen dat de code geïmporteerd word op de pagina met je form en ervoor zorgen dat je form attributen correct zijn ingevuld form class moet dus ajaxForm zijn ook ;)


    Belangrijk voor usability:
    En indien je ook zou willen indien de gebruiker JS heeft uitgeschakeld dat de form ook normaal word uitgevoerd met een http request moet je gewoon zorgen dat je script (action script) dit opvangt en dan ook indien een http request de gehele view inclusief error/succes message printen en indien ajax request enkel de error/succes message printen.
    Kan heel simpel door bv een extra (hidden) input waarde mee te geven bv: name='type' value='http' of ajax ?? en standaard http te plaatsen en indien document ready (js zal netjes uitgevoerd worden indien je is ingeschakeld..) daar plaatsen we dan bv: $("input[name=type]").val('ajax'); om het type van de form aan te passen zodat we een ajax form krijgen als js ingeschakeld is. Om dit dan netjes te kunnen onderschijden in ons action script onder $_POST['type'] = http of ajax ?

    Neem eens een kijkje op de website van drupal, zeer handige CMS waarbij je een website bouwt zonder 1 regel code te moeten (en ik zei niet mogen) schrijven.
    https://www.drupal.org/
    Ook hebben ze de dag van vandaag 100den modules beschikbaar die je meteen kan gebruiken in je website.
    Zeker een van de betere als je opzoek bent naar een stabiele en goed ondersteunde CMS systeem.


    En volgens mij moet die statistiek module daar ook wel zeker ergens te vinden zijn ;)
    En simpel is drupal zeker, naar mijn mening een van de simpelste die er is, je kan namelijk content toevoegen / bewerken alsof je op je site zelf zou browsen. Zo zie je ook meteen welke aanpassingen je maakt en hoe het toont op de pagina.

    Neem eens een kijkje op: http://www.w3schools.com/css/css_rwd_mediaqueries.asp


    Neem zeker ook eens een kijkje hoe je stylesheets aanpast in wordpress (ben er zelf niet echt bekend mee)


    Met media queries is het dus mogelijk om van eenheden zoals width en height van het scherm een waarde te bepalen om dan tussen de brackets { } van de media queries je toepasselijke style's toe te voegen / aanpassen voor tablet / mobiel.


    Het is dus mogelijk om dezelfde stylesheets te gebruiken voor zowel desktop / tablet en mobiel, dankzij je media queries bepaal je gewoon a.h.v. scherm afmetingen wat je CSS precies moet doen.


    Je kan dus simpel weg zeggen: Als breedte kleiner is dan bv 1050px voer dan volgende css rules uit waarna je in die rules dus enkele css attributen kan aanpassen om het deel die je aanpast mobiel/tablet vriendelijk te maken. Een zeer belangerijke factor in responsive web design is om niet te werken met fixed afmetingen vooral in breedte. Ga dus meestal werken in: width: 100%; max-width: 600px; voor als je element 600px moet zijn op desktop maar slechts 100% v/d breedte op kleinere apparaten bijvoorbeeld..


    Ook wel belangerijk dan is dat alles netjes in elkaar past, wanneer je een algemene container hebt met bv 1050px in breedte en je hebt dan een content block met 100% in breedte maar een max-width van 600px, dan zal deze content blok zich wel netjes gedragen op desktop maar op tablet en mobiel zal die 600px blijven omdat je container een fixed width heeft mee gekregen van 1050px. Zeker goed je HTML controlleren en aanpassen waar nodig bij het uitwerken van je responsive-versie van je website.


    En nog een plupunt is dat dankzij het werken met media queries, je meteen ook je resultaat kan bekijken op een desktop browser door je scherm in breedte te verkleinen / Zo zie je hoe je website er op kleinere apparaten uitziet en zo kan je ook snel tewerk gaan in je responsive-ontwerpen.



    Groeten,
    MiCa

    Heb ook een gelijkaardige code ontwikkeld voor mijn register, login, passlost enz... voor al mijn applicaties. En wat je zeker goed hebt gedaan is om die gevoelige files dus buiten de public mappen te houden, meerdere mensen zouden zo tewerk moeten gaan, goodjob!

    Ja ik kopieer ook geen word docu maar puur HTML en of CSS :P
    Misschien is dat ook het probleem, zou eens de documentatie checken rond die word functies op de website van ckeditor. Misschien doe je het verkeerd.


    Edit: Ik zie net dat pastefromword een addon is, zorg er ook voor dat deze ingeschakeld is (dus je ckeditor zelf samenstellen en de addon toevoegen) zorg ook dat je de juiste functies gebruik i.v.m. formatting enz documentatie: http://ckeditor.com/addon/pastefromword


    Ik raad je ook aan indien je deze addon en bijhorende functies gebruikt om je word document zo netjes mogelijk te houden, volgens de richtlijnen van word zelf om overbodige of ongewenste content te vermijden. Ik zie online veel problemen betreffende onzichtbare content dat mee gekopieerd word omdat mensen meerdere child elementen aanmaken voor bv maar 1 lijst..

    Zou het wel riskeren voor kleine zaken, maar zoals Ferhat zei wil ik ze ook liever eens gescreent zien voor ik er mee zou samen werken op professioneel vlak :p

    Gebruik ook ckeditor en ondervindt geen problemen bij het mee kopiëren van opmaak.
    Ik gebruik het enkel echter maar in mijn back-end om content op te maken in de editor en op te slaan in de db en zo terug te tonen in de view front-end.

    Ook handig indien je streng wilt gaan beveiligen niet alleen database gerelateerd:


    https://www.owasp.org/index.ph…F)_Prevention_Cheat_Sheet


    En een handige functie om xss tegen te gaan en mijn huidige anti CSRF:
    Xss stop je door een input waarde van de gebruiker die moet opgeslagen worden in de database om terug te tonen op de website te escapen. Dit kan met $security->xssEscape($_POST['value']) vooralleer je de waarde gaat opslaan in de database.
    Zorg wel dat $security gedefineert is en dat deze de class security bevat. ($security = new Security();) En uiteraard, zorg er ook voor dat deze ge required word door je web app.


    CSRF stop je door een security token aan te maken voor iedere gebruker uniek. Na iedere form submit GET/POST/PUT/DELETE vergelijk je de securitytoken (meegegeven in de form als input hidden) met de huidige token van de gebruiker, indien gelijk (===) dan kan je de actie uitvoeren en een nieuwe scurity token gaan genereren voor de gebruiker en eventueel omleiden.


    En dan raad ik je ook aan je session_start(); op z'n minst de parameters correct in te vullen of gebruik te maken van een veilige session class of script die session hijacking tegen gaat.
    http://blog.teamtreehouse.com/…eate-bulletproof-sessions

    @MiCa-
    Vind cPanel zelf best wel traag, DirectAdmin is behoorlijk stuk sneller in navigeren.
    Denk dat het ieders smaak is voor een paneel, mijn broer (ander bedrijf) gebruikt weer Plesk.

    Daar heb je wel een punt, cpanel is stukken trager maar alsnog blijft het mijn voorkeur :p

    Overgens als je de keuze hebt; cPanel is wel echt een veel mooier systeem. Of het beter werkt is een persoonlijke voorkeur, maar ik heb zelf betere ervaringen met cpanel dan de alternatieven, vooral ook met het uitbrengen van beveiligingsupdates en dergelijke.

    Mijn voorkeur gaat eig. ook wel naar cpanel, t.o.v. directadmin heb je veel meer features, een overzichtelijk paneel en alle nodige info van je server.
    Directadmin bied ook wel veel features maar is lang niet zo overzichtelijk en gebruiksvriendelijk als cpanel naar eigen mening.

    Is een direct admin of cpanel licentie bij transip per zoveel tijd of eenmalig? Zie het nergens staan.

    Ik snap niet waarom je zou hosten bij een bedrijf die geen ondersteuning bied voor directadmin of cpanel..
    Alles op gebied van je website moeten regelen zonder z'n cp software is hard en moeilijk werk.


    Edit: Probeer eens uwdomein.nl:2222 OF uwdomein.nl/cpanel

    Beste leden,


    Voor mijn online mafia spel volop in ontwikkeling ben ik opzoek naar creatieve mensen die content willen toevoegen aan het spel in de back-end van de website.
    Voorlopig kunnen alleen de huizen toegevoegd worden, hiervoor dient men gratis woningen stocks te gebruiken.
    Indien de woningen allemaal toegevoegd zijn, zal je al snel de mogelijkheid hebben om wapens toe te voegen, na wapens bescherming, na bescherming alle auto's en na de auto's al het smokkelwaar.


    Er komen mogelijk nog opties die in de back-end beheerbaar zullen zijn.
    Ik voorzie een betaling van €10 (na afwerken) of 13000 credits (bij start game) per 100 perfect afgewerkte records. (Woningen = 10 per staat = 10*50 = 500 | enkelen zijn reeds ingevuld)
    Het invoegen van deze data kan vrij snel en vlot verlopen via het admin paneel.


    Hier een screen van hoe de data ingevoegd kan worden (Geen save knop, alles word netjes in de achtergrond opgeslagen):



    Hier een screen van hoe de game er voorlopig uitziet met wat van de main features:



    Mensen die interesse hebben kunnen me altijd contacteren via ictscripters PM
    Nogmaals, indien interesse houd dan a.u.b. rekening met het feit dat we gratis resources gebruiken voor alle illustratie materiaal.


    Geen interesse in content writer ?


    We zijn ook nog opzoek naar:


    niet betaalde jobs:
    - Moderator (Start game, taken: beheer game en leden)
    - Helpdesk (Zo snel mogelijk om de game te leren begrijpen + na start vast helpdesk wil zijn)
    - Adverteerder (start game, MiCa voorziet adverteer budget)


    Betaalde jobs (volgens inkomen per maand gelijk verdeeld):
    - Mede developer (Moet 100% te vertrouwen zijn en ervaren genoeg in Object georienteerd programmeren en het MVC patroon)
    - Administrator (Start game, taken: beheer game en leden + crewleden + social media pages + werkt nauw samen met adverteerder)



    Dankje en groeten
    MiCa