Posted on

Verifica dei dati di un dominio : gestore, dns, hosting, mail server, spf

Il nostro obbiettivo è analizzare l’hosting di un dominio: chi gestisce l’hosting e quindi i dns; dove risiede il sito internet; dove risiede il mail server.

Il primo tool da utilizzare è un “WHOIS” come, per esempio, https://whois.domaintools.com/. Con questo tool è possibile capire chi gestisce il dominio.

Nella pagina che risulta dall’interrogazione, inserendo il dominio da cercare, dovreste trovare gli indirizzi dei dns che gestiscono i dati del dominio.

Per verificare i DNS usiamo https://mxtoolbox.com/DNSLookup.aspx. Inserite il dominio da cercare. Nella maschera successiva potete cliccare su “dns check”.

Anche con questo tool avrete la lista dei dns ed in più il relativo indirizzo ip.

Per interrogare i dns, cioè avere una visione di tutti gli indirizzi utilizzati si può utilizzare https://network-tools.com/dns-records/.

Se vi sembra che manchino alcuni dati potete interrogare direttamente i dns trovati.

Aprite un prompt di dos e digitate il comando

nslookup -type=any dominio dns

Per esempio se sto cercando informazioni sul dominio miodominio.it e ho trovato che il suo dns è ns1.gestore.com, scriverò :

nslookup -type=any miodominio.it ns1.gestore.com

PING

Nella lista dei record DNS dovreste trovare anche l’ip del server che ospita il dominio. Per verificare il dato vi basta aprire un prompt di dos e digitare

ping www.miodominio.it

Il risultato del ping vi mostra l’indirizzo ip del server.

Per verificare dove risieda il server potete utilizzare il tool https://whoer.net/checkwhois inserendo l’ip trovato precedentemente.

MAIL SERVER

Per avere una idea di quanto sia configurato bene o male un mail server potete usare il tool https://www.emailsecuritygrader.com

RECORD SPF

Controllato correttezza record spf con https://mxtoolbox.com/spf.aspx

Controllo correttezza record spf : https://www.kitterman.com/spf/validate.html

 

 

Posted on Lascia un commento

ASP.NET MVC. first Model – Code first

In questo articolo cominceremo a creare qualcosa di nuovo nel nostro progetto . Utilizzeremo l’approccio “Code First”, cioè prima scriveremo il codice. Sembra banale dirlo,  ma Visual Studio consente, per esempio, anche l’approccio “Database First”.

Andate nella directory Model e create una nuova classe per esempio Student.cs.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MySite.Models
{
 public class Student
 {
 }
}

Aggiungete questo namespace

using System.ComponentModel.DataAnnotations.Schema;

Il nostro modello / classe è la rappresentazione, attraverso le sue proprietà, di una tabella che andremo a costruire su un database. Prima di tutto diciamo alla classe come si chiama la tabella che vogliamo.

[Table("STUDENTS")]
 public class Student
 {
 }

Poi creiamo le proprietà – campi della tabella. Aggiungete questo namespace :

using System.ComponentModel.DataAnnotations;

la nostra tabella è composta da 3 campi

[Table("STUDENTS")]
 public class Student
 {
 [Key]
 [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
 public int ID { get; set; }

[Required]
 [StringLength(200)]
 [Display(Name = "Name")]
 public string NAME { get; set; }

[StringLength(300)]
 [Display(Name = "Surname")]
 public string SURNAME { get; set; }
 }

Le DataAnnotation sopra le proprietà definiscono le caratteristiche dei campi della tabella : ID sarà la chiave primaria (key), e SQLServer si occuperà di assegnare il numero (DatabaseGeneratedOption.Identity). NAME è un campo obbligatorio (Required) di lunghezza 200, la cui descrizione in visualizzazione sarà “Name”.etc.

Ora dobbiamo aggiungere al DBContext la presenza di questa tabella. Aprite la classe ApplicationDbContext e aggiungete come proprietà la nuova tabella :

public DbSet<Student> Students { get; set; }

Provate a lanciare l’applicazione ed ad effettuare un login per testare che tutto funzioni. Andate sul database e costruite le tabella rispettando i nomi.

 

 

Posted on Lascia un commento

asp.net mvc facile facile – Database

Il database di default

Avete creato il vostro primo progetto ASP.NET MVC. Potete eseguirlo attraverso Visual Studio. Il sito è perfettamente funzionante e vi permette già la registrazione di un nuovo utente ed il login. Se potete registrarvi ed accedere significa che “sotto” al sito è già presente un database. Per sapere dove è il database e quali tabelle compongono la gestione utenti, aprite in Visual Studio SQL Server Object Explorer e vedrete il vostro database sotto

localdb – DefaultConnection

DefaultConnection è il nome della stringa di connessione usata dalla vostra applicazione per collegarsi al Database. Se osservate il contenuto di Tables vedete tabelle che gestiscono gli utenti. Se avete creato il sito usando il Framework 4.5.1 o 4.5.2 queste tabelle sono 6.

Il nostro database SQL Server

Noi non vogliamo lavorare sul  database di default, bensì su un database di SQL Server sulla nostra macchina o in rete. Creiamo un database di SQL Server da qualche parte. Ora dobbiamo fare puntare il nostro sito a questo database. Aprite il file web.config e cercate il tag connectionStrings. Sostituite la stringa di connessione con una valida connessione al vostro database SQL Server (in rete trovate le stringhe di connessione). Lasciate il nome del tag a “DefaultConnection”. Lanciate l’applicazione attraverso Visual Studio.

Questo è un nuovo database quindi l’utente che avete creato prima sul database di default non esiste. Dovete ri-effettuare la registrazione e, a questo punto, potrete effettuare il login. Se ora controllate il contenuto del vostro database SQL Server (con Visual Studio SQL Server Object Explorer oppure con SQL Server Management Studio) vedrete che ci sono anche qui le 6 tabelle che permettono la gestione degli utenti. Create dal sito stesso.

Nel vostro progetto infatti esistono i modelli delle tabelle che consentono la gestione degli utenti (nella directory Models), e il vostro sito, vedendo che sul database non esistevano le tabelle relative , le ha create per voi. Molto comodo.

Da qui in poi creerete i vostri modelli, cioè i contenitori dei vostri dati e il sito tenterà sempre di creare le tabelle relative per voi. Questo non è una procedura comoda perchè non vi consente errori o ripensamenti mentre create il vostro modello. E’ meglio dire al sito di non stare da qui in poi a controllare la reciprocità modello – tabella: costruirete i vostri modelli a mano e quindi le vostre tabelle su SQL Server. Per comunicare questo al sito, aprite il file Global.asax.cs e nella funzione Application_Start(), aggiungete questa riga :

Database.SetInitializer<YourSite.Models.ApplicationDbContext>(null);

Dove ApplicationDbContext è il nome della classe che si connette al database usando la stringa DefaultConnection. Cercatela nel sito.

 

Posted on Lascia un commento

asp.net mvc facile facile . Introduzione – parte 1

nb. Se deciderete di lavorare con questa tecnologia, ogni volta che avete un dubbio o la necessità di un approfondimento, vi basta andare sul vostro motore di ricerca preferito e digitare la vostra ricerca (con parole in inglese) , preceduta dalle semplici parole ASP.NET MVC. Troverete tutte le risposte.

Quando parliamo di ASP.NET MVC intendiamo in generale la creazione di siti con Visual Studio, utilizzando il linguaggio c# ed impostando lo sviluppo secondo le norme di programmazione MVC.

MVC sta per Model – View – Controller. Nella pratica ogni vecchia pagina web è ora costruita utilizzando 3 file diversi. Oppure, i 3 file insieme costituiscono la pagina. Due di questi file sono codice c# puro ed hanno estensione .cs, il terzo è codice html e ha estensione .cshtml. In ognuno dei 3 file c’è un pezzo di codice. Scrivere le cose in questo modo vi permetterà di essere più rapidi nello sviluppo. Per ora vi dovete fidare.

Facciamo un esempio. Se cercate con il browser la pagina http://www.miodominio.com/Prodotti/Index,   il sito cercherà un file che si chiama ProdottiController.cs  (il primo dei nostri 3).  Nel file ProdottiController.cs c’è almeno la classe ProdottiController. All’interno di questa classe, in questo file, esiste una funzione di nome Index. A questo punto il Controller fa 2 cose: cerca nel sito un file chiamato Index.cshtml . Questo file (è la View) contiene il nostro html. In alcuni casi nella pagina del sito ci sono solo scritte statiche. Se invece è previsto che in questa pagina ci siano dati dinamici, il controller crea una rappresentazione dell’insieme dei dati partendo da un terzo file che può avere qualsiasi nome, per esempio Item.cs (il Model) e lo da in pasto al file Index.cshtml che ci appare infine sul browser. Spiegazione lunga ma funziona tutto in un attimo.

Dalla spiegazione capite che ci sono delle regole precise sui nomi dei file : ci viene quindi imposto un modo di organizzare i file, una strada da percorrere sempre uguale che renderà il nostro codice più ordinato, manutenibile e leggibile dai nostri colleghi programmatori.

Ora aprite Visual Studio e create il primo sito ASP.NET MVC. Trovate tantissime guide sul web ma potete anche provarci da soli. Analizziamo la struttura delle cartelle che compongono il sito e vediamo quello che ci potete fare. Nel sito trovate sicuramente queste 3 cartelle :

  •  Controller
  •  Model
  •  View

Nella cartella controller ci staranno, i file Controller. Potete dare a questi file qualsiasi nome nella forma QualcosaController.cs. All’interno delle cartella potete creare tutte le sottocartelle che volete e con qualsiasi nome per riordinare meglio i file Controller che andrete a creare.

Nella cartella Model ci staranno i file Model. Potete dare a quest file qualsiasi nome e creare tutte le sottocartelle che volete.

Nella Cartella View ci staranno le View. All’interno di questa cartella deve esistere, per ogni Controller, una sottocartella che si chiama esattamente come il Controller (senza Controller.cs). Nei nostri esempi avremo quindi una cartella Prodotti ed una cartella Qualcosa. All’interno di questa cartella ci saranno tanti file .cshtml quante sono le funzioni presenti nel file Controller o meglio le funzioni del Controller che volete siano utilizzate dall’esterno. Devono chiamarsi esattamente come la funzione. Nel nostro esempio avremo :

  •  Controller
    •  ProdottiController.cs
    •  QualcosaController.cs
  •  Model
    •  Item.cs
  •  View
    •  Prodotti
      •  Index.cshtml
    •  Qualcosa

Il bello di tutta questa gestione è che Visual Studio la fa per voi in automatico e tra un po vedremo come.