In a quantum field theory, only a finite set of interactions are allowed, determined by the Lagrangian of the theory which specifies the interaction vertex Feynman rules. In string theory, an $m$-point scattering amplitude is schematically given by,
$$\mathcal{A}^{(m)}(\Lambda_i,p_i) = \sum_{\mathrm{topologies}} g_s^{-\chi} \frac{1}{\mathrm{Vol}} \int \mathcal{D}X \mathcal{D}g \, \, e^{-S} \, \prod_{i=1}^m V_{\Lambda_i}(p_i)$$
where $S$ is the Polyakov action (Wick rotated), and $V_{\Lambda_i}(p_i)$ is a vertex operator corresponding to a state $\Lambda_i$ with momentum $p_i$. For example, for the tachyon,
$$V_{\mathrm{tachyon}} = g_s \int \mathrm{d}^2 z \, e^{ip_i \cdot X}$$
What I find troubling is that it seems the bosonic string theory does not impose any restrictions on which interactions may occur. For example, I could insert the vertex operators for a photon to compute photon scattering in the theory. But in the Standard Model direct interaction between photons is not permitted, but it could scatter via a fermion loop. So, how come any interaction is permitted in this theory? If this is an issue, how does the situation change in the case of the superstring?